我试图了解 scrypt 算法输出。
在https://litecoin.info/Block_hashing_algorithm上,作者获得了 scrypt 加密结果headerString
:
01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180
[小端序]
至
000000003b4ba52ab765631e20a04b88cd27f0b66d3509fb2da7781fae6d7901
. [大端]
我正在尝试复制它,但我无法重现该结果。我正在使用一个实现,它在本文结尾处为测试向量提供正确的输出: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 调用之后我只是在需要时将字节数组解析为十六进制字符串
我在这里错过了什么吗?我只是不明白为什么当我根据有关它的论文验证我的 scrypt 实现时,我没有得到相同的结果。
我真的需要帮助解决这个问题!如果我没有提供足够的信息,请询问并尽我所能清除事情。