2chのトリップを生成する

2ちゃんねるのトリップをPythonで生成するにはどうしたらいいだろう? Perl版のコードならwikipediaにある。
トリップ (電子掲示板) - Wikipedia
そのまま変換するとこうなるか。

import re
from crypt import crypt
from string import maketrans

tripkey = '#istrip'
tripkey = tripkey[1:]
salt = (tripkey + 'H.')[1:3]
salt = re.sub('[^\.-z]', '.', salt)
salt = salt.translate(maketrans(':;<=>?@[\\]^_`', 'ABCDEFGabcdef'))
trip = crypt(tripkey, salt)
trip = trip[-10:]
trip = '◆' + trip
print trip

Windows用のPythonにはcryptライブラリが入っていないので、代わりに fcrypt を使わせてもらおう。 http://home.clear.net.nz/pages/c.evans/sw/

例によって、そのまま移植すると効率が悪くなる。何回も実行する場合、正規表現や変換テーブルは事前に作っておいた方がいい。いや、むしろ正規表現なんか使わず、全部translate、もしくは辞書で変換したほうが早いのかな。
あと、Pythonの文字列は普遍性を持つので、文字列の足し算やスライシングは効率が悪いらしい。デフォルトの塩を取り出す部分は IndexError をキャッチした方がいいかも。
適当に書いてもかなりの速度が出るPerlインタプリタコンパイラ?)はすごい。