加密算法学习

https://www.cnblogs.com/huangzedong/p/10098196.html

单向加密:信息摘要,MD5、SHA

不可逆,即明文加密成密文,密文不能解密成原明文,一般用于密码的保存;

双向加密:对称加密、非对称加密

一般用于证件号的保存

对称加密:采用 单钥密码 系统的加密方法,

同一个密钥可以同时用作 信息的加密和解密

AES(常用)、DES、3DES、IDEA、RC2、RC4、SKIPJACK、RC5

非对称加密:公开密钥和私有密钥是一对,

如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;

如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密

RSA(常用)、DSA

如果每次的密钥不变,那密文是不变的

加密算法:1.单向加密,MD5;2.对称加密,AES;3.非对称加密,RSA

处理URL中的加密参数:

String decodeParams = URLDecoder.decode(encodeParams, "utf-8");

前端:String encodeParams = URLEncoder.encode(params, "utf-8");

密码加密:

Spring Security:用BCryptPasswordEncoder方法对密码加密和密码匹配

采用SHA-256 +随机盐+密钥(SHA系列是Hash算法,不是加密算法,使用加密算法意味着可以解密,

但是采用Hash处理,其过程是不可逆的)

Spring security中的BCryptPasswordEncoder方法对密码进行加密与密码匹配 - 简书

//前端传递的密码:用MD5加密后的密码

String password = new BCryptPasswordEncoder().encode(MD5Util.MD5("123456").toLowerCase());

加密:

passwordEncoder.encoder(password)

解密(匹配,不是真的解密,是把输入的密码进行hash处理,得到的hash值和数据库对比(不一定是一样的)):

passwordEncoder.matches(rawPassword, encodedPassword)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值