Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Essential Cryptography for JavaScript Developers

You're reading from   Essential Cryptography for JavaScript Developers A practical guide to leveraging common cryptographic operations in Node.js and the browser

Arrow left icon
Product type Paperback
Published in Feb 2022
Publisher Packt
ISBN-13 9781801075336
Length 220 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Alessandro Segala Alessandro Segala
Author Profile Icon Alessandro Segala
Alessandro Segala
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Part 1 – Getting Started
2. Chapter 1: Cryptography for Developers FREE CHAPTER 3. Chapter 2: Dealing with Binary and Random Data 4. Part 2 – Using Common Cryptographic Operations with Node.js
5. Chapter 3: File and Password Hashing with Node.js 6. Chapter 4: Symmetric Encryption in Node.js 7. Chapter 5: Using Asymmetric and Hybrid Encryption in Node.js 8. Chapter 6: Digital Signatures with Node.js and Trust 9. Part 3 – Cryptography in the Browser
10. Chapter 7: Introduction to Cryptography in the Browser 11. Chapter 8: Performing Common Cryptographic Operations in the Browser 12. Other Books You May Enjoy

Hashing passwords and deriving keys

As we saw in the previous section, passwords have a low entropy, so when you need to hash them so that they can be stored in a database or when you want to derive encryption keys from them, you should be using deliberately slow hashing functions.

In a world where computers continue to get faster and developers strive to create applications that run in less time and use fewer resources, the existence of an entire field of research around creating purposely slow algorithms may feel odd. Yet, in the field of hashing functions, there's a whole class of algorithms (sometimes called Key Derivation Functions (KDFs) in this case) that are designed to do just that.

Among all the various KDFs, we will be looking specifically at two: Argon2 and scrypt. These are designed to be slow, with a configurable "cost" for each invocation, and they aim to make it harder to use hardware accelerators such as GPUs or FPGAs.

The Case for Leveraging...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image