我的dba知道他在做什么吗?

Ang*_*ina 3 java encryption sha

我是所有加密,哈希等的新手.我收到了来自我的dba的电子邮件,告诉我从.properties文件中读取admin un,密码,它看起来像这样:

ldap.provider.admin.password=fc34f78f665b60c5b99bad0ee1b228269e10e9cdd81c1a
Run Code Online (Sandbox Code Playgroud)

然后在他的电子邮件中他指定:

ldap.provider.admin.password is actual password encrypted with “SHA256”.
Run Code Online (Sandbox Code Playgroud)

在我的java程序中告诉我,我将不得不解密此密码才能使用它.

是我还是他与密码哈希算法混淆了?我真的能解密吗?

rge*_*man 8

"加密"是一个误导性术语,因为这意味着它可以被解密.使用"SHA256"算法转换的内容实际上是加密散列的.密码散列算法没有"解密"功能.

但你仍然可以使用它.当用户提交密码时,对用户提交的密码执行"SHA256",并将其与存储的哈希密码进行比较.通过上面字符串的外观,您可能需要将哈希输出转换为十六进制字符串以进行比较.

此外,您可能首先需要确定是否将哈希值应用于哈希值(为每个用户添加额外的随机内容以提高安全性).如果是这样,那么在对其进行散列之前,您需要将salt应用于用户提交的密码.