Windows CryptoAPI を使用してデータをハッシュする方法を示す msdn の例に従っています。例はここにあります: http://msdn.microsoft.com/en-us/library/windows/desktop/aa382380%28v=vs.85%29.aspx
SHA1 アルゴリズムを使用するようにコードを変更しました。
ハッシュ (以下に示す) を 16 進数で表示するコードがどのように機能するのか理解できません。具体的には、>> 4 演算子と & 0xf 演算子の機能がわかりません。
if (CryptGetHashParam(hHash, HP_HASHVAL, rgbHash, &cbHash, 0)){
printf("MD5 hash of file %s is: ", filename);
for (DWORD i = 0; i < cbHash; i++)
{
printf("%c%c", rgbDigits[rgbHash[i] >> 4],
rgbDigits[rgbHash[i] & 0xf]);
}
printf("\n");
}
誰かが私のためにこれを説明してくれたらありがたいです、事前に感謝します:)