【PHP8.x】SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE定数の使い方
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE定数は、PHPのlibsodium拡張機能で提供されるパスワードハッシュ関数 sodium_crypto_pwhash および sodium_crypto_pwhash_str において、パスワードハッシュ処理に割り当てるメモリ使用量の上限値を表す定数です。この定数は、特に「インタラクティブな用途」に適したメモリ制限値を定義しています。
インタラクティブな用途とは、ウェブサイトのログイン認証のように、ユーザーが入力したパスワードの検証結果を比較的短い時間で待つ必要がある場面を指します。パスワードのハッシュ処理は、ブルートフォース攻撃や辞書攻撃といった不正な試行からパスワードを保護するために、意図的に高い計算コスト(CPU時間やメモリ消費量)をかけることが推奨されますが、あまりにも高いコストを設定すると、正規のユーザー体験を損なう可能性があります。
この定数は、scrypt と呼ばれる強力なパスワードハッシュアルゴリズム(内部でSalsa20/8とSHA256を使用)を利用する際に、セキュリティとパフォーマンスのバランスを取りながら、現代の一般的なシステムでユーザーがストレスなく利用できる範囲のメモリ上限を提供します。これにより、攻撃者に対しては十分な計算負荷を強いつつ、正規のユーザー認証は迅速に行えるように設計されています。開発者はこの定数を使用することで、セキュリティ上の推奨設定を手軽に適用できます。
構文(syntax)
1<?php 2echo SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE;
引数(parameters)
引数なし
引数はありません
戻り値(return)
integer
この定数は、scrypt-alsA208SHA256アルゴリズムを使用してパスワードハッシュを生成する際に、インタラクティブな実行環境で推奨されるメモリ使用量の上限をバイト単位で示します。