# □□□ トリップの算出方法 □□□ # ---トリップを作成するのに必要なデータ--- # # 名前欄で最初に登場した"#"以降の全ての文字列。 # これが暗号化する文字列になります。 $tripkey = "kami"; # ---------------------------------------- # # 1. $tripkeyに「H.」を付け足す。(足りない場合を考慮して) # 2. $tripkeyの先頭から1バイトスキップして、そこから2バイト取り出す。 # これがsaltになります。 $salt = substr($tripkey.'H.', 1, 2); # saltに使用できない13文字(:;<=>?@[\]^_`)を使用可能な文字(ABCDEFGabcdef)にそれぞれ変換する $salt =~ tr/:;<=>?\@[\\]^_`/ABCDEFGabcdef/; # saltに使用できない文字(./0-9A-Za-z以外)を全てピリオド(.)に変換する。 # これでsaltの完成。 $salt =~ s/[^\.\/0-9A-Za-z]/\./g; # $saltをsaltとして$tripkeyをcryptする。 # 返ってきた文字列の後ろから10文字(昔は8文字だった)、これがトリップになります。 $trip = substr(crypt($tripkey, $salt), -10); print "◆$trip"; # ◆yGAhoNiShIと表示されるはずです。 # ※注 # crypt関数はマシン環境に依存します。 # 2chは56bitDESです。