我想讓我的頭繞着scrypt算法輸出。Scrypt算法輸出doesen't與預期相匹配
在https://litecoin.info/Block_hashing_algorithm筆者得到scrypt加密結果爲headerString
:
01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180
[小尾數]
到
000000003b4ba52ab765631e20a04b88cd27f0b66d3509fb2da7781fae6d7901
。 [big endian]
我試圖複製這個,但即時通訊無法重現該結果。我在本文末尾使用了一個爲測試向量提供正確輸出的實現:http://www.tarsnap.com/scrypt/scrypt.pdf,但是在運行headerString
時,使用正確的N,r,p(1024,1,1)設置得到結果
c17fcd0c6d698828112ade740d4e8ad76705764da3abfc49ff3bb1863cd16472
。 [大端]
我有相同的結果與來自相同的結果試了一下這些實現:
data = "01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180";
https://github.com/cheongwy/node-scrypt-js
var result = scrypt(data,data, 1024,1,1,32);
https://github.com/tonyg/js-scrypt
var result = scrypt.crypto_scrypt(scrypt.encode_utf8(data), scrypt.encode_utf8(data), 1024, 1, 1, 32);
的scrypt呼叫IM如果需要
只是解析字節數組十六進制字符串後,林我在這裏錯過了什麼嗎?我只是不明白,爲什麼我沒有得到相同的結果時,我已經驗證了我的scrypt實施對紙的文件。
我真的需要幫助解決這個問題!如果我沒有提供足夠的信息,請提出問題並盡力解決問題。
沒有辦法知道你是從你給我們的信息做錯了什麼。你使用哪種scrypt的實現?使用4個測試向量當然不足以找到所有可能的實現錯誤。另外,你能告訴我們你的scrypt函數嗎? – example
謝謝你的回覆!我已經添加了實驗,一直在測試和我對scrypt函數的調用。我希望這有幫助。 – Sultanen
你輸入你的數據作爲一個字符數組,同時它應該被解釋爲一個數字(十六進制表示) – example