2014-01-07 84 views
0

我想讓我的頭繞着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實施對紙的文件。

我真的需要幫助解決這個問題!如果我沒有提供足夠的信息,請提出問題並盡力解決問題。

+1

沒有辦法知道你是從你給我們的信息做錯了什麼。你使用哪種scrypt的實現?使用4個測試向量當然不足以找到所有可能的實現錯誤。另外,你能告訴我們你的scrypt函數嗎? – example

+0

謝謝你的回覆!我已經添加了實驗,一直在測試和我對scrypt函數的調用。我希望這有幫助。 – Sultanen

+1

你輸入你的數據作爲一個字符數組,同時它應該被解釋爲一個數字(十六進制表示) – example

回答

1

您將數據作爲字符數組輸入,而應該將其解釋爲數字(以十六進制表示形式)。