49 votes

Implémentation de bCrypt en Javascript

Je me demande si quelqu'un a écrit ou rencontré des implémentations de bcrypt en JavaScript. Je ne suis pas contre l'idée d'écrire le code moi-même, mais si quelqu'un avec un background plus solide en cryptographie en a déjà écrit un, pourquoi réinventer la roue ? D'autant plus que je produirais probablement un code de mauvaise qualité.

[modifier] :

En suivant les liens fournis, j'ai pu pirater une version. C'est beaucoup plus lent que ce que j'attendais.

J'ai créé une page de code google pour cela et j'essaierai d'augmenter la vitesse dans les prochaines semaines.

http://code.google.com/p/javascript-bcrypt/

47voto

bugstomper Points 479

17voto

Christopher Parker Points 1816

À ma connaissance, il n'existe pas d'implémentation JavaScript de bcrypt. Il existe cependant quelques implémentations JavaScript de Blowfish :

Cela devrait vous aider à démarrer. Si vous devez utiliser l'un des trois derniers, utilisez le troisième. J'ai mentionné les deux autres principalement à des fins historiques.

3voto

Olivier Refalo Points 12606

J'ai trouvé cette implémentation pour node.js

https://github.com/ncb000gt/node.bcrypt.js/

2voto

Noah Points 7066

Il existe également une version native de node.bcrypt.js qui ne nécessite pas de compilation. https://github.com/shaneGirish/bcrypt-nodejs

npm install bcrypt-nodejs`

L'api est très similaire à la version compilée. Ce qui suit est tiré directement du readme

Utilisation de base :

Synchrone

var hash = bcrypt.hashSync("bacon");

bcrypt.compareSync("bacon", hash); // true
bcrypt.compareSync("veggies", hash); // false

Asynchrone

bcrypt.hash("bacon", null, null, function(err, hash) {
    // Store hash in your password DB.
});

// Load hash from your password DB.
bcrypt.compare("bacon", hash, function(err, res) {
    // res == true
});
bcrypt.compare("veggies", hash, function(err, res) {
    // res = false
});

2voto

fpirsch Points 76

Si vous voulez du javascript + de la vitesse, vous pouvez peut-être essayer twin-bcrypt une implémentation d'asm.js.

Prograide.com

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.

Powered by:

X