0
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,我是否必须按字符分解散列?我认为那会奏效。

4

1 回答 1

1

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

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

于 2012-10-07T19:42:01.027 回答