RSA可以用于加密,其加密强度很高,被人攻克的可能性极小。但是其加密速度很慢,如果对一段长数据进行加密是不现实的。因为无论加密还是解密都需要很长时间。
所以通常是先用对称加密算法(DES, AES等)对正文加密,而DES,AES的密码往往是16字节或24字节,是比较短的。在发送时,把DES密码用RSA加密一下,连同正文一同发给对方。
对方接收之后,先用RSA密钥把DES密码给还原出来,再把DES密码对正文进行还原。这样就做到了使用动态密码进行DES加密。对于每次加密的DES密码都是随机的,即使被人破解了一次也没有意义,下次通讯的DES密码又不一样了。
相关文章
- SpringBoot+责任链模式:优雅的实现复杂接口的解耦和动态编排!-三、代码
- 024-linux中动态库libXXX.so
- SQL函数中的动态执行语句
- js动态计算移动端rem适配问题
- 小程序中监听textarea或者input输入的值动态改变data中数组的对象的值
- python 应用 base64、hmac、hashlib包实现:MD5编码 base64编码解码、SHA256编码、urlsafe_b64encode编码等等基本所有的加密签名的方法
- 几种设置UITableView的cell动态高度的方法
- Java动态代理(一)动态类Proxy的使用
- 动态修改JDBC数据源配置
- java Mybatis框架动态SQL