可逆加密
1.对称加密:加密密钥和解密的密钥一样
DES:密钥长度 56位 --- 3DES --密钥长度 168位
AES:密钥长度:128位 192位 256位
2. 非对称加密:加密密钥和解密的密钥不一样
公钥 和 私钥
加密算法:公钥加密 私钥解密
签名算法:私钥签名 公钥验签
RSA :1024
RSA2: 2048
-- 支付宝 已升级为rsa2
-- https协议:进行对称加密密钥的协商
不可逆加密
1.md5 --- salt
易宝支付
微信支付
2.SHA(Secure Hash Algorithm,安全散列算法) -- salt (盐)(
SHA算法家族目前共有SHA-1、SHA-224、SHA-256、SHA-384和SHA-512五种算法
====
md5 简单的可以进行暴力破解链接 暴力破解
12345 -- 》 sljdjgjsjgsdg
加盐处理:
12345sdlkjgjls -- 》jslkjdgjasgj
保存时例如:
//随机生成盐值
String salt = HashKit.generateSaltForSha256();
//和密码进行加密
loginPass = HashKit.sha256(salt + user.getLoginPass());
验证时例如:
//获取用户盐值
String salt = loginAccount.getLoginSalt();
//和密码进行加密
String hashedPass = HashKit.sha256(salt + password);
// 未通过密码验证
if (loginAccount.getLoginPass().equals(hashedPass) == false) {
return Ret.fail("msg", "用户名或密码不正确");
}
加密算法详情可参考https://blog.csdn.net/u011174699/article/details/93917335