rsa 与加密机
来源:互联网 发布:厦门淘宝客服工资 编辑:程序博客网 时间:2024/05/10 17:25
rsa 加密算法分为公钥与私钥。用公钥对明文加密,密钥进行解密。
公钥即是 RSA 算法里面的 N 和 E,私钥即是 N 和 E。可以看这篇文章详细了解。
由于 RSA 算法运用于很多产品,很多场景,因此,公钥可能是文本文件的形式,字符串形式,BASE64 变换形式等等多种形式。一般最多的形式是:
大整数 N 的 16 进制,512 位(假定是 512 位的 RSA 算法)。
以上,我们拿到公钥后,需要知道它的格式,才能用于加密或解密。
业界,公司解决 客户消费/登录时 密码验证 的方案比较多是加密机。加密机是一种专门用于加解密的机器。里面固化了一些算法,如 DES,RSA 等。使用加密机的好处是,业务系统中不会具有解密的能力,也不留下任何明文密码的痕迹。
设密的原理是,指定一个 rsa 组,对传入的rsa 密文进行解密得到明文,之后再通过传入的 des 组,
生成一个随机的盐,对明文进行加密,最终得到密文(二次密文)和盐的密文,作为设密的返回。
解密时,同样需要指定 rsa 组,随机盐的des 组,以及待验证的密文,解密得到二次密文,作为解密的输出。
应用通过比较上面两个流程产生的二次密文,得知校验结果。
这种模式的好处是,应用不知道密钥,不可能会在应用中解密。设置和解密的过程在专有的系统中做,起到了黑盒的作用。
更多的细节:
采用 pkcs 的填充方式,即使对同样的明文使用同样的公钥加密,得到的密文也不一样。该填充方式使用随机但可还原的方式填充。
随机因子:每次设密,解密都可以使用一个随机因子来提高安全性。在对应的一组设密,解密的操作中,两次的随机因子不一样,不会影响校验的结果。因为两次操作都会传入一个随机因子。随机因子被直接附在明文后面再 RSA 加密使用。
使用此接口需要找 eccs 管理人员分配sysid 和 appid,rsa 组 (以索引名给出), des 组(以索引名给出)
注意设密时,返回的 shal 即是公钥,格式是16进制的 512 位数据。返回的 pinFactor 也是16进制的。也即 RSA 算法的 N 值即是上面的 512位的公钥,E 值是 010001(16进制)。
pinFactor 和 cfyz 都是十六进制数据
- rsa 与加密机
- RSA加密与解密
- RSA加密与解密
- RSA加密与破解
- RSA加密与破解
- Rsa 加密与解密
- RSA加密与解密
- AES与RSA加密
- RSA加密与解密
- RSA加密与解密
- RSA加密与解密
- RSA加密与数字签名
- RSA签名与RSA加密异同
- RSA的加密与解密
- rsa加密与解密算法
- RSA 加密与加签
- rsa加密与解密算法
- RSA 加密与加签
- 左填充-LintCode
- (工作中)springmvc的对字典表的使用@dict
- 使用 STM32 测量频率和占空比的几种方法
- codeforces 776E
- UE4(六) AssetManager文件资产管理以及动画批量导入
- rsa 与加密机
- Lintcode156 Merge Intervals solution 题解
- 简单搭建一个maven项目
- 强大的图片加载框架Fresco的使用
- 代理模式代码实现
- Java8 BinaryOperator
- java嵌套类(Nested Classes)总结
- Keil MDK中的Code, RO-data , RW-data, ZI-data分别代表什么意思?(转)
- 文章标题