非对称加密算法RSA使用注意事项
来源:互联网 发布:淘宝优质网店怎么通过 编辑:程序博客网 时间:2024/06/05 22:56
第一个问题,也是最重要的一个——RSA无法对超过117字节的数据进行加密!切记!其实也勿需要求对更大数据的加密,虽然网上已经有相关解决方案,比如BigInteger项目。但这点确实需要注意,如果对大于117字节的数据加密就会抛异常出来,说法还有点莫名其妙。考虑下RSA的主要用途就可以理解了,一般我们使用RSA的主要用途是进行数字签名,另外就是对“对称加密”算法的KEY和IV向量进行加密;
第二个问题,假设要对一个文本文件(比如xml文件)中的某些数据进行加密,加密后再写入文本文件怎么办呢?(如果将加密后的byte数组直接以流的形式写入文件,则无此问题)这就涉及到一个byte[]到String的转换问题,有的人马上会说,这简单嘛,用Encoding.Default.GetString呗,果真如此的话,也就没有本问题了!如果你使用Encoding.Default.GetString保存加密结果到文件中,再解密的话你就会遇到下面这个异常:
原因是因为使用Encoding.Default.GetString()对加密后的byte[](为了后文方便,此处赋予其一个变量名right)进行处理后,再写入文本文件,解密的时候再使用Encoding.Default.GetBytes()对将加密内容(String类型)转换得到byte[]数组,这个时候得到的byte[]数组(变量名:wrong)已经不是前文的那个right变量来,内容和大小都不同!你拿一个错误的字符串去解密当然会报“不正确的数据”了,确实不正确嘛!
呵呵!下面说一下如何解决这个问题(下面只提供问题相关的代码):
1)加密
2)解密
好了,现在一切OK!!顺便说一下,RSA无法对超过128 BYTE的数据进行解密。
后记,今天突然想到可以Base64编码,看来前面绕路了,下面我们使用Base64编码再来实现一次,非常简单:
1)加密
2)解密
- 非对称加密算法RSA使用注意事项
- 非对称加密算法RSA
- 非对称加密算法RSA
- 非对称加密算法RSA
- 非对称加密算法RSA
- 非对称加密算法RSA
- 非对称加密算法RSA
- 非对称加密算法RSA
- 非对称加密算法RSA
- RSA 非对称加密算法
- 非对称加密算法(RSA)
- RSA ~ 非对称加密算法
- RSA 非对称加密算法
- 非对称加密算法RSA
- PHP 使用非对称加密算法 (RSA)
- 非对称加密算法-RSA算法
- JAVA 非对称加密算法RSA
- 非对称加密算法RSA学习
- 提高内存池的并发效率
- 第1章 字符串
- 利用CSS样式打印
- 关于Logger日志的控制台输出问题
- 深入浅出ASP.Net 2.0 Ajax学习之旅随笔(一)-先从第一个简单的Ajax应用程序开始
- 非对称加密算法RSA使用注意事项
- 计算机专业就业方向指导
- java3d程序
- 今天篮球赛输3分
- 有一段文本,统计其中的单词数
- Delete a node WITHOUT using the HEAD pointer.
- 推荐一些国外安全书籍
- 最著名且最有用的CSS过滤器之一:* html
- 简单搭建MIPS交叉编译环境------新手推荐