300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > RSA加密登录(公钥加密登录)---安全登录

RSA加密登录(公钥加密登录)---安全登录

时间:2018-09-19 17:09:54

相关推荐

RSA加密登录(公钥加密登录)---安全登录

登录/注册/支付 基本都要用到加密方案

加密原理:

后台生成rsa密钥对,然后在登陆页面设置rsa公钥,提交时用公钥加密密码,生成的密文传到后台,用私钥解密,获取密码明文。

前端运用RSA技术进行加密简单来说分为以下几步骤(0-4):

0.md5加密:引入md5的js,然后使用var md5password = md5( input框的明文value值 )

引入RSA加密文件jsencrypt.js

实例化加密对象

var encrypt = new JSEncrypt(); //前端要做的事情

var decrypt = new JSEncrypt(); //前端不要做的事情,可能后台要处理的事情

设置公钥 / 密钥(公钥pubkey跟你们后台大佬要吧)

encrypt.setPublicKey(pubkey); //前端要做的事情

decrypt.setPrivateKey(privkey); //前端不要做的事情,可能后台要处理的事情

加密 / 解密

var encrypted = jsEncrypt.encrypt( 待加密内容md5password ); //前端要做的事情(这个“待加密的内容”是经过md5加密过的密码)

var uncrypted = decrypt.decrypt( 加密后待解密内容 ); //前端不要做的事情,可能后台要处理的事情

我不太明白的事情是:为什么第三步要encrypt.setPublicKey来处理公钥(我看之前的项目中最后登录接口传到后台的是:1.经过md5与encrypt两次加密的账户密码,2.获取公钥接口,后台传给我的公钥(没处理过),与及一些其他参数内容。

不太明白的点:1.接口返回的公钥有啥用? 2.encrypt.setPublicKey(pubkey)有啥用?(后台给的公钥是加密用的,后台自己保留的私钥是解密用的。但是这个公钥私钥只进行了encrypt.setPublicKey(pubkey)与decrypt.setPrivateKey(privkey),这两个操作,我并不明白它的具体意义在哪?)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。