<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vivek Agrawal</title>
    <description>The latest articles on DEV Community by Vivek Agrawal (@vkweb).</description>
    <link>https://dev.to/vkweb</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F325655%2F3d5d34eb-ed0f-47b7-8ae9-83169f94b08b.png</url>
      <title>DEV Community: Vivek Agrawal</title>
      <link>https://dev.to/vkweb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vkweb"/>
    <language>en</language>
    <item>
      <title>5 Free 'non-AI' Design Tools to Create Human Loving Landing Pages</title>
      <dc:creator>Vivek Agrawal</dc:creator>
      <pubDate>Mon, 16 Dec 2024 14:03:42 +0000</pubDate>
      <link>https://dev.to/vkweb/5-free-non-ai-design-tools-to-create-human-loving-landing-pages-260m</link>
      <guid>https://dev.to/vkweb/5-free-non-ai-design-tools-to-create-human-loving-landing-pages-260m</guid>
      <description>&lt;p&gt;Around a week back I had to build a landing page for my &lt;a href="https://cryptography-for-devs.github.io" rel="noopener noreferrer"&gt;free cryptography course for web developers&lt;/a&gt;. As I started building it, I collected some tools along the way. &lt;/p&gt;

&lt;p&gt;These tools tremendously helped me make the landing page so much more beautiful than what I could built. &lt;/p&gt;

&lt;p&gt;These tools left me thinking -- why the heck I didn't know about them earlier!&lt;/p&gt;

&lt;p&gt;Just to be clear: &lt;strong&gt;I am not at all commercially related&lt;/strong&gt; to any of these tools. I just loved them and I know you will too. That's why I'm sharing it with you guys.&lt;/p&gt;

&lt;p&gt;All the tools mentioned in this list are &lt;strong&gt;completely free with no ads&lt;/strong&gt; and no paywalls. They are actually free gold I would say.&lt;/p&gt;




&lt;h1&gt;
  
  
  1. SVG Repo
&lt;/h1&gt;

&lt;p&gt;This website has a huge collection of SVG vector graphics and icons. I adore their ad-free and simple design. There's no paywall. All the SVG graphics are totally free. You can use these SVGs as icons or in some other graphics.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwdir9qmwkes014ozbng.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwdir9qmwkes014ozbng.PNG" alt="SVG Repo website image" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This website has a SVG editor as well. I found it super helpful in changing the color of the SVG to match my landing page's color palette.&lt;/p&gt;

&lt;h3&gt;
  
  
  ➡️ Check it out: &lt;a href="https://www.svgrepo.com" rel="noopener noreferrer"&gt;SVG Repo&lt;/a&gt;
&lt;/h3&gt;




&lt;h1&gt;
  
  
  2. Excalidraw
&lt;/h1&gt;

&lt;p&gt;It's a hugely popular drawing tool. The lightning moment for me was when I discovered the &lt;a href="https://libraries.excalidraw.com/?theme=light&amp;amp;sort=downloadsTotal" rel="noopener noreferrer"&gt;Excalidraw libraries&lt;/a&gt;. The excalidraw library contains pre-made graphics by the community. This helps in quickly creating cool looking graphics and diagrams.&lt;/p&gt;

&lt;p&gt;For example, I used some pre-made graphics from the excalidraw library to create the below graphic for my course's landing page. And it just took me around 10 minutes to do it all. Without excalidraw libraries, it would have taken lots of time to execute it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzipznsazjd8v34ak2op4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzipznsazjd8v34ak2op4.png" alt="A diagram illustrating private and public keys" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ➡️ Check it out: &lt;a href="https://excalidraw.com" rel="noopener noreferrer"&gt;Excalidraw&lt;/a&gt;
&lt;/h3&gt;




&lt;h1&gt;
  
  
  3. Haikei
&lt;/h1&gt;

&lt;p&gt;This is such a well-engineered tool. It allows you to create SVG designs. You can use these designs as a background in parts of your landing page or inside your product as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7otvp1dwl6rbc6ia7ql.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7otvp1dwl6rbc6ia7ql.PNG" alt="Haikei UI image" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used this tool to create a background for my landing page's past work section:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5p5rihze3i1jeweg5lxd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5p5rihze3i1jeweg5lxd.PNG" alt="my course's past work section image" width="800" height="111"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ➡️ Check it out: &lt;a href="https://haikei.app" rel="noopener noreferrer"&gt;Haikei&lt;/a&gt;
&lt;/h3&gt;




&lt;h1&gt;
  
  
  4. unDraw Handcrafts
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4wqlk3hein229iets30c.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4wqlk3hein229iets30c.PNG" alt="Image description" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This tool has lots of hand drawn SVG graphics that can be used to highlight parts of headings in your landing pages. These hand drawn graphics are so pleasing that you will find its use in various situations.&lt;/p&gt;

&lt;p&gt;I downloaded a hand drawn rocket from this site and put it on my landing page's about section:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6lu7q4ze489i12sc3lp.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp6lu7q4ze489i12sc3lp.PNG" alt="a part of my landing page's about section" width="800" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ➡️ Check it out: &lt;a href="https://handcrafts.undraw.co" rel="noopener noreferrer"&gt;unDraw Handcrafts&lt;/a&gt;
&lt;/h3&gt;




&lt;h1&gt;
  
  
  5. Hero Patterns
&lt;/h1&gt;

&lt;p&gt;I always wondered from where did those SVG patternistic backgrounds came from. When I found Hero Patterns, man, I was stunned.&lt;/p&gt;

&lt;p&gt;Hero patterns has lots of SVG background patterns. The website allows you to choose the right colors and then you just need to copy and paste a CSS snippet.&lt;/p&gt;

&lt;p&gt;I used this tool to create a graph paper sort of background for the curriculum section of my course's landing page:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzixlv1o957bjwc9mn95z.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzixlv1o957bjwc9mn95z.PNG" alt="a part of curriculum section of my course's landing page" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ➡️ Check it out: &lt;a href="https://heropatterns.com" rel="noopener noreferrer"&gt;Hero Patterns&lt;/a&gt;
&lt;/h3&gt;




&lt;p&gt;The last three tools I found from &lt;a href="https://shipfa.st/docs/extras#:~:text=file%20convention.-,Useful%20ressources,-If%20you%20need" rel="noopener noreferrer"&gt;Marc Lou's ShipFast Documentation&lt;/a&gt;. He's an inspiring product builder!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://twitter.com/vkwebdev" rel="noopener noreferrer"&gt;You should follow me on Twitter. I try to put useful stuff there. And I will respect your time.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thank you for reading!&lt;/p&gt;

&lt;p&gt;-vkweb&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>frontend</category>
      <category>css</category>
      <category>design</category>
    </item>
    <item>
      <title>Cryptography concepts that we all developers missed. But we should have known.</title>
      <dc:creator>Vivek Agrawal</dc:creator>
      <pubDate>Fri, 08 Nov 2024 18:26:37 +0000</pubDate>
      <link>https://dev.to/vkweb/cryptography-concepts-that-we-all-developers-missed-but-we-should-have-known-1712</link>
      <guid>https://dev.to/vkweb/cryptography-concepts-that-we-all-developers-missed-but-we-should-have-known-1712</guid>
      <description>&lt;p&gt;Let me come straight to the point before I tell the story behind it.&lt;/p&gt;

&lt;p&gt;People in the open source community know me by -- &lt;a href="https://github.com/vkweb/" rel="noopener noreferrer"&gt;vkweb&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I have created a &lt;strong&gt;free and open-source&lt;/strong&gt; course to teach cryptography concepts to developers. It's purpose designed for the needs of a developer. Contains only what we &lt;strong&gt;developers need to understand&lt;/strong&gt;. Basically, anybody who opens a terminal during the day (or night) should benefit from it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fydk3y6y6oz4bnyvxdsif.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fydk3y6y6oz4bnyvxdsif.png" alt="Cover of the curious cryptography" width="800" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🟢 &lt;strong&gt;It's live as : &lt;a href="//cryptography-for-devs.github.io"&gt;Curious Cryptography&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;



&lt;h2&gt;
  
  
  Let's now get to the story behind it. At the end we have course's contents.
&lt;/h2&gt;

&lt;p&gt;It started during my initial days as a beginner developer learning to code with Harvard's online course &lt;a href="https://cs50.harvard.edu/x" rel="noopener noreferrer"&gt;CS50x&lt;/a&gt;. I found various cryptography terms while I used to read documentations around the web.&lt;/p&gt;

&lt;p&gt;Terms like  --  &lt;code&gt;salt, password hashing, PBKDF-2, key pairs&lt;/code&gt;. Like most of the developers, I too did not pay much attention to them, just skimmed through them a little on Google and moved on to fixing the next most important bug or the next feature to write.&lt;/p&gt;

&lt;p&gt;Some time went by. I was progressing with CS50x. I saw a tweet or maybe it was a blog post, I can't recall accurately, but it was surely from &lt;a href="https://twitter.com/ossia" rel="noopener noreferrer"&gt;Quincy Larson&lt;/a&gt;, the founder of freeCodeCamp.org. He informed the open source community that they have decided to revamp their full-stack curriculum.&lt;/p&gt;

&lt;p&gt;Quincy encouraged the open source community to help build the new curriculum. I thought, let's see if there's anything I can help with. I browsed through the issues of their CurriculumExpansion GitHub repository, and &lt;strong&gt;&lt;a href="https://github.com/freeCodeCamp/CurriculumExpansion/issues/101" rel="noopener noreferrer"&gt;found an issue I wanted to dive into&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The issue was about teaching cryptography concepts to freeCodeCamp learners. I decided to take it on. So, I first studied in depth how RSA public-key algorithm works internally. &lt;a href="https://www.khanacademy.org/computing/computer-science/cryptography" rel="noopener noreferrer"&gt;Khan Academy's videos and articles&lt;/a&gt; were my best friend during those times.&lt;/p&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgj6e24tu1k1t1wi8cwy8.png" alt="RSA digital signature made for freeCodeCamp's cryptography curriculum." width="800" height="529"&gt;RSA digital signature system made for freeCodeCamp's cryptography curriculum.



&lt;p&gt;Me with inputs from &lt;a href="https://x.com/kriskoishigawa" rel="noopener noreferrer"&gt;Kristofer Koishigawa&lt;/a&gt;, &lt;strong&gt;&lt;a href="https://github.com/freeCodeCamp/CurriculumExpansion/pull/184" rel="noopener noreferrer"&gt;created a pull request with course contents&lt;/a&gt;&lt;/strong&gt;. In this course, freeCodeCamp learners would build a digital signature system by coding their own public key RSA algorithm. As they built, they would learn about &lt;code&gt;encryption, hashing, public keys, private keys&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A small disclaimer: &lt;strong&gt;do not ever write your own cryptographic algorithm for production.&lt;/strong&gt; That RSA implementation was just for teaching purposes. Now, let's move on.&lt;/p&gt;

&lt;p&gt;We are here today. Now, after these 4–5 years, that course never went live. I don't know the reason. And when I look back I realize, that course was not the right way to teach.&lt;/p&gt;

&lt;p&gt;Recently, I got some free time to work on my own projects. I decided to build a fresh new course for developers on cryptography. &lt;/p&gt;

&lt;p&gt;This time I wanted to do it right. The freeCodeCamp's course that we made was not very useful for developers.&lt;/p&gt;

&lt;p&gt;We developers don't need to and should not deal with the internal maths that go inside the algorithm. That's for cryptography experts, that's a whole different subject. We developers should care about the concepts in enough depth, that we know what we are doing and why we are doing.&lt;/p&gt;

&lt;p&gt;So that we developers don't do like the below xkcd comic guy (the stick character's name is cueball).&lt;/p&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgs.xkcd.com%2Fcomics%2Fpublic_key.png" alt="" width="733" height="282"&gt;Don't do the above. From: https://xkcd.com/1553.



&lt;p&gt;I started working on this new course. I collected concepts that were important for developers. I wanted to cover only those concepts that developers might encounter in their daily developer life.&lt;/p&gt;

&lt;p&gt;Also, I wanted the course to be interactive, fun and with some depth. So, I built my own course website with a coding challenge and interesting diagrams.&lt;/p&gt;

&lt;p&gt;Let me give you an overview of the concepts that will be covered in the course. This way you can see if you should spend time on the course or pass it. The course should take around 1.5 hours to complete. It is divided into 6 parts.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Symmetric key encryption
&lt;/h3&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fibgatjvjomjjwomfoek1.png" alt="scytale: ancient encryption device" width="800" height="457"&gt;Scytale -- ancient encryption device.



&lt;p&gt;Our course starts with how Cryptography started off as a need for ancient emperors to be able to talk to their army commanders without their enemy being able to understand the messages. We discuss one of the most fundamental cryptography principle  -- &lt;strong&gt;Kerchoff's principle&lt;/strong&gt;. We make you realize why having &lt;strong&gt;very high variations in a key&lt;/strong&gt; is core to the security of encryption.&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Code challenge: Caesar's cipher
&lt;/h3&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2hlqwgb118doo5g8edkh.png" alt="Complete the decryption challenge" width="800" height="401"&gt;Complete the decryption challenge.



&lt;p&gt;This is a coding challenge where you will complete the &lt;code&gt;decrypt&lt;/code&gt; function so that &lt;code&gt;ciphertext&lt;/code&gt; gets converted to &lt;code&gt;plaintext&lt;/code&gt; in the expected way. You will understand the most famous encryption technique in code  -- &lt;strong&gt; Caesar's cipher&lt;/strong&gt;!&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Cryptographic hash functions
&lt;/h3&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhydxboox3o1qogudlpmo.png" alt="File integrity check using a cryptographic hash function" width="800" height="354"&gt;File integrity check using a cryptographic hash function.



&lt;p&gt;We talk about hash functions in use with hash tables and then we introduce cryptographic hash functions. We will understand why &lt;strong&gt;cryptographic hash functions must not have hash collisions&lt;/strong&gt;. We see two examples where hash collisions could be dangerous  --  in Ubuntu package integrity checks and in Git commits.&lt;/p&gt;
&lt;h3&gt;
  
  
  4. Password hashing
&lt;/h3&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcs8n0rnqqfbqmvzagfu1.png" alt="Hashing prevents revealing cleartext passwords to the attacker" width="800" height="275"&gt;Hashing prevents revealing cleartext passwords to the attacker.



&lt;p&gt;It only gets more interesting. We give you a problem. Imagine you have a precious database of thousands of users, how will you store the passwords so that even if the attacker breaches the DB, your users' passwords are not revealed. And also, &lt;strong&gt;why encrypting the passwords is not the right way&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. Rainbow table and the salt
&lt;/h3&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwqr780c3agkb23zwvyd.png" alt="The attacker amazed with rainbow table's efficiency" width="800" height="375"&gt;The attacker amazed with rainbow table's efficiency.



&lt;p&gt;We see why simply hashing the passwords is never enough. Attackers started using a powerful data structure called &lt;strong&gt;Rainbow table&lt;/strong&gt; to crack passwords in matter of seconds. Then we see how the salt come into the picture to protect us from this attack!&lt;/p&gt;
&lt;h3&gt;
  
  
  6. PBKDF-2: slowing down
&lt;/h3&gt;


&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faakmu5g9zllodttjnlje.png" alt="Parallelized password cracking with a Nvidia GPU" width="800" height="609"&gt;Parallelized password cracking with a Nvidia GPU.



&lt;p&gt;The final attack we face is  --  GPU based attacks. GPUs are packed with thousands of cores. They can run billions of parallel tasks. They are a super power for password crackers.&lt;/p&gt;

&lt;p&gt;We will learn about &lt;strong&gt;PBKDF-2 (Password based key derivation function)&lt;/strong&gt;. And how it helps to defend against the GPU-based attacks. We also see how Django uses PBKDF-2 internally to protect passwords.&lt;/p&gt;



&lt;p&gt;Congratulations buddy 🎉. This completes the first half of the course!&lt;/p&gt;

&lt;p&gt;The second half of the course is expected to be around - Diffie-Hellman key exchange, RSA public-key encryption and TLS. &lt;/p&gt;

&lt;p&gt;Before I make second-half, &lt;strong&gt;I decided to release the first-half so that I can get developers' feedback and see if the first-half is providing any value.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If lots of developers get some real value out of this, then I will work hard on the second-half. &lt;strong&gt;It all will forever remain free, that's a promise.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1330244083093221378-150" src="https://platform.twitter.com/embed/Tweet.html?id=1330244083093221378"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1330244083093221378-150');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1330244083093221378&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;I will post updates on my Twitter. &lt;a href="https://twitter.com/vkwebdev" rel="noopener noreferrer"&gt;Follow me there&lt;/a&gt;, I tweet rarely but I try to be useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Please let me know in the comments below or on my Twitter DM if you feel this course is valuable, it'll act as a source of motivation to work further on the course!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I will be waiting for your comments and feedback!&lt;/p&gt;

&lt;p&gt;Thank you for reading this, you champion! &amp;lt;3 &lt;/p&gt;

&lt;p&gt;-- &lt;a href="https://github.com/vkweb/" rel="noopener noreferrer"&gt;vkweb&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>opensource</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
