bcrypt
nodejsモジュールを使用しています。
パスワードの暗号化と比較には満足していますが、復号化することは不可能のようです。
不思議なんだけど:
- nodejsでパスワードをどのように暗号化/復号化しますか(どのモジュールまたはメソッドを使用していますか)?
bcrypt
モジュールでエンコードされたパスワードを復号化するトリックはありますか?
ありがとう !
bcryptを使用してパスワードを復号化することはありません。これは一方向のアルゴリズムです。元の(塩漬けの)パスワードのハッシュを保存します。次に、(塩漬けの)推測をハッシュします。ハッシュが一致する場合、推測は正しいです。
幸い、node-bcrypt
ライブラリはこれらすべてを自動的に実行するため、プレーンテキストの推測と(データベースからの)ハッシュを提供するだけで済みます。
たとえば、次のようにします。
// "password"; usually stored in the database in the user's row.
var stored_hash = '$2a$10$vxliJ./aXotlnxS9HaJoXeeASt48.ddU7sHNOpXC/cLhgzJGdASCe'
bcrypt.compare(guess, stored_hash, function(err, res) {
});
これを行うためのはるかに優れた方法は、このノードモジュールhttps://github.com/davidwood/node-password-hashを使用することです。これにより、パスワードを暗号化し、暗号化されたバージョンを実際のバージョンで検証することもできます。