Wei*_*jye 6 c++ hash md5 biginteger
我正在做Elgamal签名方案,我需要使用消息中的十进制哈希值来计算S以进行签名生成.十六进制哈希的一个示例是:
820dbb4256a4287557ade2f729d279f1
如上所示,哈希值是32位十六进制数.我需要将上面的字符串转换为十进制整数,然后将其用于计算.
    string hash = md5(message);
    cout << hash << endl;
    NTL::ZZ msgHash = strtol(hash.c_str(), NULL, 16);
    cout << msgHash << endl;
没有足够大的整数来包含32字节十六进制哈希的值,所以我尝试了来自NTL库的大整数,但它没有解决,因为你不能分配从strtol函数返回的长整数(我认为十进制哈希值比NTL :: ZZ类型的长整数范围限制长.这有什么好的解决方案吗?
我在Visual Studio 2013中使用visual C++这样做.