我正在使用C++来解析torrent文件的信息哈希,与此站点相比,我无法获得"正确"的哈希值:
我构建了一个非常简单的玩具示例,以确保我有正确的基础知识.
我在sublime中打开了一个.torrent文件并删除了除信息字典之外的所有内容,所以我有一个如下所示的文件:
d6:lengthi729067520e4:name31:ubuntu-12.04.1-desktop-i386.iso12:piece lengthi524288e6:pieces27820:¡´E¶ˆØËš3í ..............(more unreadable stuff.....)..........
Run Code Online (Sandbox Code Playgroud)
我读了这个文件并用这段代码解析它:
#include <string>
#include <sstream>
#include <iomanip>
#include <fstream>
#include <iostream>
#include <openssl/sha.h>
void printHexRep(const unsigned char * test_sha) {
std::cout << "CALLED HEX REP...PREPPING TO PRINT!\n";
std::ostringstream os;
os.fill('0');
os << std::hex;
for (const unsigned char * ptr = test_sha; ptr < test_sha + 20; ptr++) {
os << std::setw(2) << (unsigned int) *ptr;
}
std::cout << os.str() << std::endl << std::endl;
}
int main() {
using namespace std;
ifstream …
Run Code Online (Sandbox Code Playgroud)