gpt4 book ai didi

c# - 在 C# 中使用来自 .Pem/.Pkcs8 key 文件的 MD5WithRSA 对数据进行签名

转载 作者:太空狗 更新时间:2023-10-29 18:19:29 24 4
gpt4 key购买 nike

我在 Java 中得到了以下代码示例,我需要在 C# 中重新制定它:

PKCS8EncodedKeySpec privKeySpec = new PKCS8EncodedKeySpec(pkcs8PrivateKey);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey privKey = keyFactory.generatePrivate(privKeySpec);
Signature sign = Signature.getInstance("MD5withRSA");

sign.initSign(privKey);
sign.update(data);
byte[] signature = sign.sign();

是否可以使用标准的 .Net Crypto API,或者我应该使用 BouncyCaSTLe?谢谢,

b.

最佳答案

另一种方法是使用 CNG(下一代加密技术)以及来自 CodePlex 的 Security.Cryptography DLL。

然后你可以这样写:

byte[] dataToSign = Encoding.UTF8.GetBytes("Data to sign");
using (CngKey signingKey = CngKey.Import(pkcs8PrivateKey, CngKeyBlobFormat.Pkcs8PrivateBlob))
using (RSACng rsa = new RSACng(signingKey))
{
rsa.SignatureHashAlgorithm = CngAlgorithm.MD5;
return rsa.SignData(dataToSign);
}

感谢 Simon Mourier 更新:使用 .Net 4.6,您不再需要单独的库

关于c# - 在 C# 中使用来自 .Pem/.Pkcs8 key 文件的 MD5WithRSA 对数据进行签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com