繁体   English   中英

我已经编写了自己的javascript bencode库,但仍然无法生成种子信息哈希?

[英]I've written my own javascript bencode library and I still can't generate torrent info hashes?

我到处搜索以寻找可用的JavaScript Bencode模块,但找不到模块,因此我决定编写自己的模块以生成torrent信息哈希。

在我按照规范编写功能时,该模块已尽我所知。

字典=>对象=>键/值对

列表=>数组对象=>数字/值对

整数=>数字对象

弦...

无论如何,我先解码torrent文件的数据,然后再对解码后的信息密钥的值进行编码,然后我使用Google API的SHA-1模块,并且信息哈希值与原始哈希值不匹配。 我很笨。

我已经对模块进行了彻底的测试。 我可以对数据进行解码,然后将其传递给我的编码函数,并将其与原始数据完全匹配,但是当我尝试从编码的信息节值生成哈希时,会出现不匹配的情况。

我确实认为这是由于JavaScript的二进制字符串处理不当所致,而且我不知道如何诊断或解决此问题。

当我根据内容类型标头从get请求输出数据时,字符串的二进制部分显示的方式有所不同,这就是得出此结论的原因。

我知道种子文件是UTF-8字符编码的,但此后我就束手无策了...

感谢您的任何帮助。

种子文件使用UTF-8字符编码,但部分文件未编码。 信息字典中的“件”键完全是ASCII编码的,因为UTF-8用[C]对我来说会引起错误,因此可能会用JavaScript对其执行相同的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM