我应该如何在MySQL中存储sha512 salted&hashed密码?

JDe*_*age 15 php mysql security

所有,

我使用以下PHP函数来为Web应用程序加密和哈希用户密码:

function stringHashing($password,$salt){
 $hashedString=$password.$salt;
 for ($i=0; $i<50; $i++){
  $hashedString=hash('sha512',$password.$hashedString.$salt);
  }
 return $hashedString;
}  
Run Code Online (Sandbox Code Playgroud)

在MySQL中存储结果字符串的最佳方法是什么?我想这是一个固定的CHAR字段?我该如何计算合适的长度?

谢谢,

JDelage

Mic*_*rdt 26

好吧,SHA512将始终返回512位散列,双参数hash()方法将其返回为十六进制数字,因此每字节512位/ 8位*每个字节2位十六进制数= 128位十六进制数

A CHAR(128)应该是你需要的