Crypto module
Argon2
https://github.com/ranisalt/node-argon2
Bcrypt
https://github.com/kelektiv/node.bcrypt.js
sjcl (By standford)
https://github.com/bitwiseshiftleft/sjcl/tree/3668e639bc78e910815f501d55458e968845edc2
PyCrypto (python crypto module)
https://pycryptodome.readthedocs.io/en/latest/src/introduction.html
Web Crypto API
https://www.w3.org/TR/WebCryptoAPI/#crypto-interface
https://developer.mozilla.org/en-US/docs/Web/API/Crypto
https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
async function sha256(message) {
const msgBuffer = new TextEncoder('utf-8').encode(message); // encode as UTF-8
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer); // hash the message
const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert ArrayBuffer to Array
const hashHex = hashArray.map(b => ('00' + b.toString(16)).slice(-2)).join(''); // convert bytes to hex string
return hashHex;
}
sha256('abc').then(hash => console.log(hash));
(async function() {
const hash = await sha256('abc');
}());
Last updated
Was this helpful?