>>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 でやってます.