■ 32 文字の SHA-1 ハッシュ値を返す関数 先日書いたように、 session.hash_bits_per_character = 5 に設定すると、 SHA-1 を用いたセッション ID を 32 文字で表現できる。 これと同じように、sha1() 関数の返り値も 32 文字の文字列にすることを考えてみた。 残念なことに sha1() 関数にそういったオプションは存在しないが、 検索してみると、rsky さんの作った関数が見つかった。 ハッシュに MD5 を使っているアプリケーションをデータベースのテーブル定義等を変更せずに SHA-1 に移行するために 4bit × 40文字でなく、5bit × 32文字のハッシュを返す関数をつくってみた。 function sha1_32($str) { $hex = sha1($str); $hash = ''; $c = array_ma