RSA 非对称加密
2024-09-08 17:23:00
原文链接:https://www.jianshu.com/p/d56a72013392
RSA 是一种非对称加密算法,在实际业务中经常使用此算法对数据进行加密。但是它的加解密速度较慢,不太适用于高并发的业务场景,一般用它做少量的数据加密。
什么是对称加密和非对称加密?
对称加密:加密和解密使用的是同一个密钥,加解密双方必须使用同一个密钥才能进行正常的沟通。
非对称加密:需要两个密钥来进行加密和解密,公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥) ,公钥加密的信息只有私钥才能解开,私钥加密的信息只有公钥才能解开。
非对称加密工作过程
甲乙双方使用非对称加密算法的方式进行数据传输
- 乙方生成一对密钥(公钥与私钥),并将公钥向甲方公开
- 甲方获取到公钥后,将需要传输的数据用公钥进行加密发送给乙方
- 乙方获取到甲方加密数据后,用私钥进行解密
- 在数据传输过程中,即使数据被攻击者截取并获取了公钥,攻击者也无法破解密文,因为只有乙方的私钥才能解密
非对称加密中,究竟是公钥加密还是私钥加密?
- 对于加密:公钥加密,私钥解密。毕竟公钥可以公开,但是私钥只有你自已知道,你也同样希望只有你自己才能解密
- 对于签名:私钥加密,公钥解密。好比你的签名只有你自已签的才是真的,别人签的都是假的。
RSA算法原理:
https://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html
https://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html
最新文章
- Python yield 使用浅析
- 点击按钮回到页面顶部或者某个高度时的问题,JQUERY
- java.lang.ThreadGroup.enumerate
- SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例【转】
- myeclipse2014破解版本链接
- Serach
- sonix uvc驱动的加入 RT5350支持H264
- 我的Android进阶之旅------>;经典的大牛博客推荐(排名不分先后)!!
- 判断客户端使用的是安卓还是苹果,然后加载对应的css文件
- Array.prototype.slice.call()方法详解
- Django_modelform组件
- Android中Ijkplayer最简单的使用
- (4)Python列表list
- Date类、SimpleDateFormat类
- SQL Server中自定义函数:用指定的分隔符号分割字符串
- Day 05 可变不可变、数据类型内置方法
- Oracle win32_11gR2_database在Win7下的安装与卸载
- Linux 下查看系统当前登录用户信息
- Alpha阶段个人贡献分
- Unity透明Shader