>>237
>・キー構成文字
> (ry
>これ、分離できない?
なるほど,言われてみれば確かに......ということで,分離する処理も入れてみました.
ついでに,トリップの処理もちょっと変更.
if (length $handle_pass >= 12)
{
if (substr($handle_pass, 0, 1) eq '$')
{
# 将来の拡張用
$GB->{TRIPSTRING} = '???';
}
elsif ($handle_pass =~ m|^#([[:xdigit:]]{16})([./0-9A-Za-z]{0,2})$|)
{
$GB->{TRIPSTRING} = substr(crypt(pack('H*', $1), "$2.."), -10);
}
else
{
use Digest::SHA1 qw(sha1_base64);
$GB->{TRIPSTRING} = substr(sha1_base64($handle_pass), 0, 12);
}
}
else
{
# 従来形式
}
12桁以上かつ「#$〜」の指定は,将来的な拡張に使えるようにとっておこうかと.