首页 / 问答 / [C#/.NET Core].NET Core(.NET 5)如何实现RSA加密和RSA解密算法呢?

[C#/.NET Core].NET Core(.NET 5)如何实现RSA加密和RSA解密算法呢?

.NET C# .NET Core .NET 5 解密 2.29K 次浏览
0

在.NET Core(.NET 5)的应用程序编程开发中,现需要用RSA加密和解密一些数据。查了微软的RSA类,但只看到抽象类https://msdn.microsoft.com/en-us/library/system.security.cryptography.rsa(v=vs.110).aspx

其实现方式与.NET Framework的实现有些不一样。

那么,在.NET Core(.NET 5)的应用程序编程开发中,如何实现RSA加密和RSA解密算法呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    在可能的情况下,请尽量避免使用RSACryptoServiceProvider,因为它只适用于Windows操作系统,如果你的应用程序需要跨平台运行,则使用RSACryptoServiceProvider实现的RSA加密、解密将在非Windows操作系统下失效。

    因此,我们需要自己动手实现兼容跨平台的RSA加密,解密方法,示例代码如下:

    以上RSA帮助类中使用了读,写PEM格式文件的第三方工具PemUtils,可以能等NuGet程序包安装,命令为:PM> Install-Package PemUtils

    .NET Core(.NET 5)中调用并实现RSA加密算法的加密,解密示例如下:

    输出结果:

    Rector的个人主页

    Rector

    2021-11-03 回答

    • 0

      如果你不想自己实现.NET Core(.NET 5)的RSA加密,解密算法,还可以使用开源的RSA类库,比如:NETCore.Encrypt。此类库专门用于.NET Core应用程序的加密,解密等操作,提供了多种.NET Core加密,解密方式,如:AES加密,AES解密,DES加密,DES解密,RSA加密,RSA解密,MD5加密,SHA加密,HMAC加密,Base64加密,Base64解密等等。

      可通过如下任意一种方式安装:

      1.通过NuGet包管理命令安装

      2.dotnet cli命令

      基于.NET Core的RSA加密,解密提供了RsaSize枚举:

      创建RSA密钥的方式如下:

      如果要进行签名和验证,则:

      RSA加密示例:

      RSA解密示例:

      使用PEM格式进行RSA加密,解密示例如下:

      Rector的个人主页

      Rector

      2021-11-03 回答

      我来回答