spring security5 之后常用的密码加密方式:
{bcrypt} {noop} {pbkdf2} {scrypt} {sha256}
比如使用bcrpt:
new BcryptPasswordEncoder().encode("123456");
加密得到的密文:
$2a$10$mfWCB3ELdpZurWRZNXEvYeRECg8Lzt85I3WRLfVoQ5bn525SeJ7zK
通过简单的测试发现每次生成的都不一样 虽然是同样的密码;执行速度也很慢
public static void main(String[] args) {
List<String> list = new ArrayList<>();
long start = System.currentTimeMillis();
for (int i = 0; i < 100; i++) {
String encode = new BCryptPasswordEncoder().encode("123");
if (list.contains(encode)) {
continue;
}
list.add(encode);
}
long end = System.currentTimeMillis();
System.out.println(list.size() + "\t" + (end - start));
}