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程序中告诉我,我将不得不解密此密码才能使用它.
是我还是他与密码哈希算法混淆了?我真的能解密吗?
"加密"是一个误导性术语,因为这意味着它可以被解密.使用"SHA256"算法转换的内容实际上是加密散列的.密码散列算法没有"解密"功能.
但你仍然可以使用它.当用户提交密码时,对用户提交的密码执行"SHA256",并将其与存储的哈希密码进行比较.通过上面字符串的外观,您可能需要将哈希输出转换为十六进制字符串以进行比较.
此外,您可能首先需要确定是否将哈希值应用于哈希值(为每个用户添加额外的随机内容以提高安全性).如果是这样,那么在对其进行散列之前,您需要将salt应用于用户提交的密码.