1

現在、パスワードのハッシュにphp5を使用しています。SHA512のランダムソルトを変更する方法を知りたいです。次のコードをsha1からsha512に変更した後、ハッシュが失敗しました。以下は、パスワードをハッシュするためのコードです。

public function hashSSHA($password) {

    $salt = mhash(rand());
    $salt = substr($salt, 0, 15);
    $encrypted = base64_encode(bin2hex(mhash(MHASH_SHA512, $password . $salt, true) . $salt));
    $hash = array("salt" => $salt, "encrypted" => $encrypted);
    return $hash;
}

/**
 * Decrypting password
 * @param salt, password
 * returns hash string
 */
public function checkhashSSHA($salt, $password) {

    $hash = base64_encode(bin2hex(mhash(MHASH_SHA512, $password . $salt, true) . $salt));

    return $hash;
}

なんとか新しいユーザーを登録しましたが、登録したユーザーでログインしようとすると、ユーザー名またはパスワードがどこにあるかが表示されます。だから私はどこで間違ったことをしたのか知りたいです。ありがとう!

4

1 に答える 1