PHPのセッションIDの生成方法、長さを変えるにはphp.iniのsession.hash_bits_per_characterを変更する。
php.iniには以下のような説明が書いてある。
; Define how many bits are stored in each character when converting ; the binary hash data to something readable. ; ; 4 bits: 0-9, a-f ; 5 bits: 0-9, a-v ; 6 bits: 0-9, a-z, A-Z, "-", "," session.hash_bits_per_character = 4
session.hash_bits_per_characterの値とセッションID文字数の対応
session.hash_bits_per_character | 値 | 組み合わせ |
---|---|---|
4 | 32 | 16^32=3.40282367e38 |
5 | 26 | 32^26=1.36112947e39 |
6 | 22 | 64^22=5.44451787e39 |
組み合わせが多ければ多いほどブルートフォースに強いことを意味します。
その点では、どれも同じような強度です。
テストスクリプト
コメント
参考になりました。ありがとうございました。