2017-12-12 21 views
0

この機能を使用してアプリでパスワードを暗号化しています。実際の文字列が必要なときに解読する方法。 var crypto = require('crypto');ハッシュを解読する方法

function encryptPassword(password) { 
    var salt = new Buffer('priotzen', 'base64'); 
    return crypto.pbkdf2Sync(password, salt, 10000, 64).toString('base64'); 
} 

感謝:)あなたは、一方向ハッシュを生成し、提供してきました

+0

一方向ハッシュです。解読することはできません。 – user1751825

答えて

1

コード。これを使用すると、ハッシュ値を比較してパスワードを検証します。既存のパスワードを解読する方法はありません。ユーザーがパスワードを忘れた場合は、パスワードをリセットします。

本当に検索可能なパスワードが必要な場合は、ハッシュアルゴリズムではなく暗号化を調べる必要があります。このタイプのアプリケーションでは、AESなどの対称キー暗号化が適している場合があります。

暗号化は、計算上、ハッシュよりもはるかに高価であり、安全性は低いことに注意してください。ハッシングは、ほとんどの場合パスワードよりも優先されます。検索可能なパスワードが必要な理由がない限り、クライアントを一方向のハッシュパスワードに向ける必要があります。

+0

1.パスワードの検証が目的の場合は、暗号化を使用しないでください。 2. AES-NI命令を持つCPUが一般的に利用可能であり、多くのプラットフォームで高速暗号エンジンが使用可能であることを考えると、暗号化はハッシングより高価ではない可能性があります。 3. PBKDF2は、NISTがパスワードベリファイアで推奨する方法です。ハッシングは、実際に**繰り返される暗号化ハッシング**であり、パスワード検証に使用されるパスワードベリファイアを作成するための好ましい方法です。 4.パスワードを暗号化すると、攻撃者や管理者にパスワードが公開される可能性があります。 – zaph

関連する問題