2016-08-18 20 views
0

私はCRYPTO JSの暗号化されたものにかなり新しいですし、暗号化されたハッシュをデータベースに格納しようとしています(firebaseデータベースに格納しようとしています)。データベースにCryptoJS暗号化パスワードを格納する方法

var hash = CryptoJS.AES.encrypt('my message', 'secret key 123'); 

データベースにハッシュ変数を格納しようとしています。 しかし、私が保管しようとしているとき、それは機能であり、保管することができないというエラーを表示します。

PS-私はデータベースに暗号化されたハッシュを格納しようとしており、データベースから自分のアプリケーションの別のページに暗号化されたハッシュを呼び出してそこで復号化したいと考えています。

これは可能ですか?はいの場合は、どうか教えてください。 ありがとう

+0

こんにちはm03a3a17、およびスタックオーバーフローを歓迎します。コードを実行するときにエラーが発生した場合は、そのエラーを質問に表示する必要があります。それ以外の場合、誰が間違っているのかを正確に知ることは非常に困難です。 –

+0

大丈夫男...おかげで..私は次回にそれをしようとします....ところで、あなたは私が –

+0

AES暗号化アルゴリズム(可逆)とないハッシュ関数(非可逆)で良い質問を思います。それらを混同しないでください。パスワードはハッシュされる必要がありますが、ハッシュは1つで十分ではありません。攻撃者は高速のパスワードハッシングマシンを持っているからです。繰り返しハッシュする必要があります。このための関数は、CryptoJSでサポートされているPBKDF2のようなものです。ハッシュ関数は単方向関数なので、ハッシュを "解読"することはできません。ユーザーを認証するには、データベースに格納されているハッシュと比較するために、ハッシュ関数を使用してパスワードを再度実行します。 –

答えて

1

hashはオブジェクトです。hash.toString()に電話して文字列に変換する必要があります。 CryptoJS githubのページから

var hash = CryptoJS.SHA3("Message"); 

//The hash you get back isn't a string yet. It's a WordArray object. 
//When you use a WordArray object in a string context, 
//it's automatically converted to a hex string. 
alert(hash.toString()); //Same as hash.toString(CryptoJS.enc.Hex); 
+0

ありがとうございます。これもまた解読する方法を教えてもらえますか? –

+0

'var decrypted = CryptoJS.AES.decrypt(ハッシュ、 '秘密鍵123');'その他の例:http://www.davidebarranca.com/2012/10/crypto-js-tutorial-cryptography-for-dummies/また、それはあなたの元の質問に答える場合は、「受け入れ」として答えをマークしてください); - StackOverflowの上に新しい質問としてフォローアップの質問を投稿し、コメントで新しい質問を追加しないでください。 –

関連する問題