如何将OpenSSL SHA-512哈希转换为GMP号以在RSA加密方法中使用

时间:2012-10-07 19:28:09

标签: c rsa gmp sha512

SHA1(data, length, hash);
unsigned char *labelPtr;

labelPtr = hash;
mpz_set_str (encrypted, labelPtr, 16);
gmp_printf("hashed= %Zd\n", encrypted);

encrypted等于0? 我需要从这个哈希中获取一个整数,以便我可以执行RSA加密。我在调试时看到哈希,但似乎无法将其变为int。它是SHA-512所以512位? 奇怪的角色出自printf("%s",hash); atoi也给0,我是否必须按字符分解哈希?我觉得那会有用。

1 个答案:

答案 0 :(得分:1)

mpz_set_str第二个参数必须是字符串。

传递给hash函数的SHA1参数可能不是字符串。在将其传递给mpz_set_str函数之前将其转换为字符串格式。