私は奇妙な問題を抱えています。私のコードでは、sha512 ハッシュ アルゴリズムを作成し、それを使用してデータに署名します。ここで、ハッシュの長さは 512 ビットであると予想しますが、128 ビットです。どのような間違いを犯したのでしょうか?
私のコード:
var hashAlgorithm = HashAlgorithm.Create( „SHA512“ );
var signedhHash = rsaCryptoServiceProvider.SignData( plainData, hashAlgorithm );
PS。次のスクリプトで作成したファイルから RSA キーをロードしました。
makecert -r -n "CN=myCert" -sky exchange -sy 24 -sv myCert.pvk myCert.cer
cert2spc myCert.cer myCert.spc
pvk2pfx -pvk myCert.pvk -spc myCert.spc -pfx myCert.pfx –f
編集:
から長さを取得しましたsignedhHash.Length
。これは 128 に相当します。