1

PHPコードを書いていますが、必要な出力が得られません。

function passhash($unhashPass){

if(CRYPT_BLOWFISH != 1) {
       throw new Exception("bcrypt not supported in this installation.);
    }
$salt = "test123";
$password = hash_pbkdf2 ("sha256", $unhashPass, $salt, 1, 20);
echo $password;
return $password;
} 

ハッシュの前にunhashpassまたはsaltのechoステートメントを配置すると機能しますが、何もしないと、phpスクリプト全体で白い画面が表示されます。誰かが私を助けることができます:)?

乾杯

4

1 に答える 1

0

この関数hash_pbkdf2()は PHP バージョン 5.5 で導入されるため、インストールされている PHP のバージョンはまだこの関数をサポートしていないと思われます。関数を呼び出す前に BCrypt が定義されているかどうかをテストしますが、この関数hash_pbkdf2()(パスワードによる鍵導出関数) は BCrypt とは関係ありません。

BCrypt を使用してパスワードをハッシュすることをお勧めしますが、PHP バージョン 5.5password_hash()では代わりに使用できます。以前のバージョン用の互換パックもあります。

// Hash a new password for storing in the database.
// The function automatically generates a cryptographically safe salt.
$hashToStoreInDb = password_hash($password, PASSWORD_BCRYPT);

// Check if the hash of the entered login password, matches the stored hash.
// The salt and the cost factor will be extracted from $existingHashFromDb.
$isPasswordCorrect = password_verify($password, $existingHashFromDb);
于 2013-03-19T07:53:44.940 に答える