2017-10-20 2 views
0

ich buddy.hashers bin mit erzeugen und die „hashed_password“ Feld für meine Benutzer SQL-Tabelle zu speichern, aber es erzeugt verschiedene Streicher:buddy.hashers erzeugt immer einen anderen Hash

user=> (require '[buddy.hashers :as hashers]) 
nil 
user=> (hashers/derive "password")"bcrypt+sha512$b55166651bb4e7241f1c42342bdc1ea6$12$8328fb1e4326dc920c6aff38076156da59594b264818c922" 
user=> (hashers/derive "password" "bcrypt+sha512$cf25e31d3a64f4189a9141b8f5e11aed$12$4b07f8380378f3a885f2212cfbe0d4f0901e8971d416e41e" 
user=> (hashers/derive "password")"bcrypt+sha512$3b569dc15a8d8e74b81a2e0652bf5172$12$b2bbf343ff7d94bccbadff07b2b9629eab3dde43c039106d" 
user=> (hashers/derive "password")"bcrypt+sha512$8d4081381c95220d6b9b67eef041dd89$12$8337f9b53f6b0f32cf30c01708e2135f94c284f5e768cc66" 

warum?

UPDATE:

(hashers/derive "password" {:salt "1f1v45642bzz1ea6" }) 

Antwort

3

Es ist eine andere "Salz" Wert jedes Mal mit, wenn Sie nicht ausdrücklich ein Salz-Wert angeben. Relevanter Code here. Wenn Sie kein Salz angeben, verwendet es (nonce/random-bytes 16). Es ist wahrscheinlich am besten, dass Sie nicht einen benutzerdefinierten Salzwert angeben. Siehe this Wikipedia article für mehr.

+2

Wichtig, nach diesem Link gibt es nicht nur das Hash-Passwort zurück: es gibt Ihnen auch das Salz, das es ausgewählt, und andere Metadaten, die Sie in der Datenbank speichern sollten, um in der Lage sein, das Hash später zu überprüfen. – amalloy

Verwandte Themen