RSA密钥对加密流程

为什么80%的码农都做不了架构师?>>>   hot3.png

1.前端提交form之前call后台,要求获得publicKey的相关参数。
2.后台生成密钥对,把privateKey存在session, 把publicKey的modulus和exponent返回前台。
3.前台用publicKey对password加密,大致流程:
var rsaKey = new RSAKey();
rsaKey.setPublic( h64tohex(data.modulus), b64tohex(data.exponent) );
var enPassword = hex2b64( rsaKey.encrypt($password.val()) );
把form提交到后台
4.后台使用privateKey对密码进行解密:
String password = RSAUtils.decrypt(privateKey, enPassword);
5.将解密后的password进行加密,存入数据库或者和数据库中的数据进行比对:
DigestUtils.md5Hex(password);

转载于:https://my.oschina.net/lock0818/blog/374418

你可能感兴趣的:(RSA密钥对加密流程)