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_str2 番目のパラメーターは文字列でなければなりません。

hash関数に渡す引数はSHA1おそらく文字列ではありません。関数に渡す前に、文字列形式に変換しmpz_set_strます。

于 2012-10-07T19:42:01.027 に答える