這是我的理解,哈希函數將始終返回相同的結果時,饋送相同的數據。但我一直在使用libsodium(通過節點鈉),這不是發生了什麼。我對密碼散列有什麼誤解?
我有這個在我的架構:
我得到記錄與該代碼三種不同的字符串。例如
$argon2i$v=19$m=32768,t=4,p=1$ayPVQ1X+xNhWmD9S5AUuaw$1mWusk59AebhzOHhl+j5JpvmRI27Pq57XG5zcAB5R4U
$argon2i$v=19$m=32768,t=4,p=1$PjTYKpfhh1bZh+MV84Y9kA$9+U33nf6efuugsrz15cEKDa5+rAHgYVA5Kqo4F1G3DE
$argon2i$v=19$m=32768,t=4,p=1$Ii8AErmAFc0na9Yi2OgCkw$ySU80Fv9OiOmeT9EV/BWon1Jjck2Lx23nOeCk0wkMPU
現在每個那些第一部分是一樣的,讓我的事情提交的密碼部分是相同的(因爲它是被散列緩衝區的第一部分)。所以也許是我不明白的緩衝區。
但是如果buf
保持不變,爲什麼saltedPassBuff
的其餘部分會發生變化?
編輯:還沒有寫完的時候,我不小心提交,編輯寫完問題
事實證明是這樣的。這也將我的.pre()函數中的代碼量減半。我想我不打算進入libsodium如何跟蹤添加鹽。 –