Java BCryptPasswordEncoder等效于mysql

时间:2016-03-29 07:57:11

标签: java mysql

mysql的{​​{1}}中是否有任何等效功能或功能?

在java中:

java BCryptPasswordEncoder

结果: BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); String hashedPassword = passwordEncoder.encode("asdf"); = hashedPassword

如何在$2a$10$3IbqODV77Xrnga.LiiDaP.Oh5te4umnWstbwM3sx1eSMOqEVoxupe中为字符串asdf获取相同的加密值?

以下是我在MySQL中尝试失败的一些尝试。

<击> MySQL

SELECT MD5('asdf');

1 个答案:

答案 0 :(得分:1)

您正在寻找的功能是ENCRYPT(str, salt)。但有一些警告:

  • 它仅适用于glibc函数crypt()可用的Unix(它不能在Windows上运行)
  • 并非所有Linux发行版都支持Bcrypt(实际上,大部分都不支持)

如果你正在使用Unix,那么试试这样的东西,看看你的MySQL安装是否支持它:

SELECT ENCRYPT('myPassword', CONCAT('$2a$', SUBSTRING(SHA(RAND()), -16)))