gpt4 book ai didi

c# - 在 C# 中使用 RSA/ECB/OAEPWithSHA-1AndMGF1Padding 进行加密

转载 作者:行者123 更新时间:2023-11-30 22:55:40 25 4
gpt4 key购买 nike

我需要在 C# .NET 4.7.2 中加密一些文本,我需要使用的密码是 RSA/ECB/OAEPWithSHA-1AndMGF1Padding。然而,内置的 C# 类 RSACryptoServiceProvider 似乎没有 MGF1 填充。

如何使用公钥和 RSA/ECB/OAEPWithSHA-1AndMGF1Padding 进行加密?

我目前的代码:

var cert = new X509Certificate2('path to certificate');
var rsa = cert.PublicKey.Key as RSACryptoServiceProvider;
var dataToEncrypt = ASCIIEncoding.ASCII.GetBytes(data);
var encryptedByteArray = rsa.Encrypt(dataToEncrypt, true).ToArray();

return Convert.ToBase64String(encryptedByteArray);

最佳答案

RSA rsa = ...;
byte[] encrypted = rsa.Encrypt(data, RSAEncryptionPadding.OaepSha1);

MGF-1 是迄今为止 RFC 定义的唯一掩码生成函数,因此是隐含的。

另外,尽量避免直接使用 RSACryptoServiceProvider。如果您使用的是旧版本且必须这样做,则将 true 传递给其 fOAEP 参数与从新重载请求 OaepSha1 相同。

关于c# - 在 C# 中使用 RSA/ECB/OAEPWithSHA-1AndMGF1Padding 进行加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55125623/

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