微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET Core实现RSA分段加密

这两天主要是公司同事用到了RSA加密,事后也看了下,以为很简单,最终利用RSACryptoServiceProvider来实现RSA加密,然后大致了解到RSACryptoServiceProvider不支持跨平台,此类原先存在于.NET Framework中,本文我讲讲利用RSA.Create来实现各种RSA中加密模式统一封装。


主要是在查找资料时看到了dudu老大写的有关RSA加密的文章,刚好找到了我们项目中需要用到的openssl加密模式对应.NET Core中的Pkcs1,这里实现代码实在有点多,然后自己也遇到如评论中所说加密长度超出的情况,这个时候只能采取分段加密的方式。接下来我们来看看。首先看看如下代码

图片

图片


经到github上查找解决方案,我们需要手动设置值,如下:

图片

图片


其中经过很多尝试,要么是Base64格式不正确,要么是待解密的数据长度和Key Size无效,我第一次尝试是返回的加密字符串,然后进行解密,就是有问题。


最后还是返回字节数组来进行加密和解密,直接看代码,这里解决了加密数据长度超出问题以及各种加密模式的统一,如下统一封装的RSAHelper类。

图片

图片

图片

图片

图片

图片

我们开始进行如下测试,加密数据长度为6890,如下。

图片

图片



我录制的ASP.NET Core MVC基础进阶课程已上线,专注于基础细节和基本原理讲解,41枚视频,仅需30元,郑重承诺:购买看完所有后,仍觉学无所获,钱全部返还。



原文地址:https://blog.51cto.com/u_15127617/2755650

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐