2016-12-28 7 views
0

私は私のウェブサイトのためにこの機能を持っていますか? これは私のユーザーの1のデータです:パスポートでユーザーパスワードを変更するにはどうすればいいですか?</p> <p><a href="https://i.stack.imgur.com/rvEyc.jpg" rel="nofollow noreferrer">password change functionality</a> が、私はその仕事を作る方法がわからない:

{ 
"_id" : ObjectId("58529494f2c495228479660f"), 
"salt" : "42499bf0fdc9280bf8eaac90e2f5e482c24913ef53897bdba67f9482816f3e3d", 
"hash" : "c316f0c3ab55a138c2a2e4880058c74810b9ed63c8fde8d6c992c80d0cd56ecab6bcc3c090fcab8fa4ebff61e68c457793e683bcbea9b7af7afa52e544e4b6cc4393b5b42c2e1c7e74dbd1a5c5fcd710563060dfff0dc4f30f2bb2f164bacccb6866add883466bb38d7c65992560c5f34936eda191749d4bc39af5c3c177aa2af0aa947bec642586210284285c7a959d6fcd7ae8ff2000792210f4ea8d1627df9a855a074d0620a3aaf7037264874a88207023b596d68f199939c2afe1aedf60f9bd73ecbf27fa0b6285e8157b89b4bc26e9838eed53b4082e330e01d5f11266b920d48f18492dc25404b920eab3f258eda0a21f40ea6b3496ce27358c1a67b58807169ac8ecd19d73069f72cdabab89e4755236911f9a641c3cc1858c1c3379c6041a6422fca985ffff932a14490c1cede3a04a6ef88e9d3bcf894fac5865db48fa253796041e682d7e132d70cefd53a610dfb761e30382444fdfce6cb7e7c79c61e14e6a36ebfbe2d20e4aed88ec6e885a45d951959e186464eb6c4ee9501e17d029be8afa4ed2d3b3142639872edef993a0c45dc717e36cd6022bcb25991df499afc90d35cf803a97a043f45e392bfd4c12f6b959a58d3d18017cea3f8d63bf3c6a5aded3d5aa1269054ee5c9a32bc2e10c251fc12afb5d60f22b8723d79f792398f7bf4fe791b29d6a24438399d28bc9197ea95cf7d6cc22e64fe1a954de", 
"username" : "Isaac", 
"__v" : 0, 
"email" : "[email protected]", 
"name" : "Isaac"} 

我々がする必要があるパスワードをリセットするために: 1 - それが本当だった場合、私たちは現在を削除する必要があり、ユーザーが自分の現在のパスワード 2-入れたいですパスワードを変更して新しいハッシュされたパスワードを置き換えてください。

現在のパスワード、新しいパスワード、繰り返しパスワードは取得できますが、現在のパスワードと比較する方法はわかりません。 誰かが私を助けることができるなら、私は本当に素晴らしいでしょう。

答えて

1

古いパスワードと新しいパスワードのハッシュ値を比較する必要があります。まず、指定されたsaltを使用して新しいパスワードのハッシュ値を作成します。あなたの古いものと比較してください。

0

したがって、基本的にユーザーの新しいパスワードを取得し、パスワードを暗号化するために使用される塩を生成し、塩と新しいパスワードを渡して新しいパスワードとあなたが生成した塩。

だから、最初に塩を生成してからハッシュを生成してください。

次回ユーザーが再度ログインすると、データベースからsaltが取得され、saltでユーザーが指定したパスワードが使用され、ハッシュが生成されます。 2つのハッシュを比較してください(データベースと1人のユーザーから1つのハッシュを比較してください)。 より理解しやすいように、暗号のドキュメントを参照してください。

+0

私は知っていますが、私は自分のユーザーパスワードをハッシュする方法を知らない。 – Joseph

+0

var mCrypto = require( 'crypto'); var encrypt_password = function(password、mobile){ //暗号化ライブラリでパスワードを暗号化します var hash = mCrypto.createHmac( 'sha512'、(mobile).toString()); hash.update(password); var passwordHash = hash.digest( 'hex'); return passwordHash; } –

+0

携帯電話番号とパスワードを使用している小さな例です –

関連する問題

 関連する問題