【堅牢】トリップの新方式を考えてみませんか【互換性】

このエントリーをはてなブックマークに追加
161 ◆cZfSunOs.U
>>155-156 なるほど,そういうことでしたか.では改めて......

    if ($handle_pass =~ m|^#([[:xdigit:]]{16})([./0-9A-Za-z]{0,2})$|)
    {
        $GB->{TRIPSTRING} = substr(crypt(pack('H*', $1), "$2.."), -10);
    }
    elsif (length $handle_pass >= 12)
    {
        use Digest::SHA1 qw(sha1_base64);
        $GB->{TRIPSTRING} = substr(sha1_base64($handle_pass), 0, 12);
    }
    else
    {
        # 従来形式
    }

「##(16桁の16進文字列)(0〜2桁のsalt)」で指定された場合に
ご所望のものが出るようにしてみました.

>>157 確かに,遊びの要素と本人証明とでは目指す方向は違うのでしょうね.

>>158 そうですね.

>>159 Digest::SHA が入っていればそれを使えるんですが,
入ってなかったのでとりあえず SHA1 でやってます.