私はsha1ハッシュ関数を実装しています。ハッシュ関数はハッシュ値を正しく出力していますが、ハッシュ値をint変数に正しく格納していません。私を助けてください、私は一日中試していますが、間違いを訂正することはできません。お手伝いありがとう。 > df7dd80ba924cdef4421d4d73b26323793e24df - ハッシュ値をintに格納
この
関数void hashSentence1(string Message1)
{
//sha1 hash is 20 bytes
unsigned char hash[20];
unsigned int ihexvalue;
stringstream str;
// compute the sha1 of the input, and store it our hash array
SHA1((unsigned char*)Message1.c_str(), Message1.size(), hash);
// convert the hash array to hexadecimal values and print out
cout << "Hash of first message was: ";
for(int i = 0; i < 20; ++i)
{
cout << hex << (int)hash[i];
str << hex << (int)hash[i];
str >> ihexvalue;
}
cout << endl << "ihexvalue " << ihexvalue;
cout << endl << endl;
}
この出力は、int型の変数がedbfbeabc123
SHA1ハッシュことが
メッセージSHA1と同じ値を有するべきです
ihexvalue - > df
コードステートメントをステートメントでデバッグしましたか? –
私は 'unsigned int'がSHAハッシュを – ForceBru
に変換できる巨大な番号を保持するのに十分な大きさであるかどうかはわかりません**あなたがsha1関数を作成したことは確かです。 – SergeyA