0

私が取り組んでいるプロジェクトのパスワードのソルティングとハッシュを理解しようとしています。以前の質問への回答から、私はpassword_hashの php マニュアルを開始する良い方法だと思いました。

ただし、そのページのコードを試してみると、解決できなかったエラーが表示されます。
コード:

<?php
/**
 * Note that the salt here is randomly generated.
 * Never use a static salt or one that is not randomly generated.
 *
 * For the VAST majority of use-cases, let password_hash generate the salt randomly for you
 */
$options = [
'cost' => 11,
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $options)."\n";
?>

エラー:

解析エラー: 構文エラー、予期しない '[' in /home/content/##/######/html/TESTINGFOLDER/HashNSalt.php 行 8

マニュアルによると -

The above example will output:
$2y$11$q5MkhSBtlsJcNEVsYh64a.aCluzHnGog7TQAKVmQwO9C8xb.t89F.

8行目は

 $options = [

このエラーが発生する理由を誰かがここで説明できますか? 私はまだ認証/ phpなどを学習する初期段階にあり、マニュアル、stackexchange/overflowに依存して、物事が本来の方法で機能しない理由を理解しています。マニュアルで見つけたコードが思い通りに動かないとき、私は完全に困惑しています!

4

1 に答える 1

3

セキュリティの問題ではなく、構文の問題です。

短い配列構文:

$options = [ ... ];

は PHP 5.4 の機能です... 以前はarray( ... ).

5.4 がインストールされていない可能性があります。PHP 5.5 の機能であるためpassword_hash、PHP のバージョンを更新する必要があります。

于 2013-07-31T11:18:04.583 に答える