Quelqu'un peut-il souligner les différences entre les deux et des exemples de situations où chacun est utilisé ?
bcrypt a l'air super.
Quelqu'un peut-il souligner les différences entre les deux et des exemples de situations où chacun est utilisé ?
bcrypt a l'air super.
Utilisez bcrypt lorsque vous souhaitez effectuer un hachage lent et coûteux en calcul - ce sera généralement pour les hachages où vous ne voulez vraiment pas qu'un attaquant puisse inverser le hachage, par exemple les mots de passe des utilisateurs. Utilisez la cryptographie native pour tout le reste.
Parallèlement à la réponse de @mike-scott, vous devriez préférer bcrypt
pour les éléments liés aux mots de passe, mais vous pouvez toujours utiliser crypto
pour un large éventail de tâches telles que créer des jetons aléatoires ou une somme de contrôle HMAC ou hachages SHA1/MD5 :
var crypto = require('crypto');
// random tokens
var buf = crypto.randomBytes(16).toString('hex');
console.log('Random token of %d bytes in hexadecimal: %s', buf.length, buf);
var buf = crypto.randomBytes(16).toString('base64');
console.log('Random token of %d bytes in base 64: %s', buf.length, buf);
// a hashed message authentication checksum (HMAC) using a shared secret key
var string = 'My coffee please';
var key = 'Right away sir';
var encrypted = crypto.createHmac('sha1', key).update(string).digest('hex');
console.log('Encrypting "%s" using passphrase "%s": %s', string, key, encrypted);
// a MD5 hash
var hashmd5 = crypto.createHash('md5').update(string).digest('hex');
console.log('The MD5 hash of "%s" is %s', string, hashmd5);
// a SHA1 hash
var hashsha1 = crypto.createHash('sha1').update(string).digest('hex');
console.log('The SHA1 hash of "%s" is %s', string, hashsha1);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.