【发布时间】:2017-08-28 21:20:32
【问题描述】:
我是密码学的新手,所以我可能对这里应该发生的事情感到困惑。我从一个 32 字节的消息摘要开始,并尝试使用我的私钥对其进行签名。 RSA.SignHash 的输出是 128 字节。我期待 32 岁。
static private byte[] RSAHashAndSignData(byte[] data, RSAParameters privateKey)
{
byte[] signedHash;
//Create a new instance of RSACryptoServiceProvider.
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
//Import the public key
RSA.ImportParameters(privateKey);
//Encrypt the passed byte array
var sha = SHA256Managed.Create();
var digest = sha.ComputeHash(data);
signedHash = RSA.SignHash(digest, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
}
return signedHash;
}
【问题讨论】:
标签: c# .net cryptography