メモ

unicode 文字列を hash したいときは .encode("unicode-internal") を使うとイイらしいよ。

>>> hashlib.new('sha1', u'test'.encode("unicode-internal")).digest()
'\x87\xf8\xed\x91W\x12_\xfcM\xa9\xe0j{\x80\x11\xad\x80\xa5?\xe1'
>>> hashlib.new('sha1', u'test').digest()
'\xa9J\x8f\xe5\xcc\xb1\x9b\xa6\x1cL\x08s\xd3\x91\xe9\x87\x98/\xbb\xd3'
>>> hashlib.new('sha1', 'test').digest()
'\xa9J\x8f\xe5\xcc\xb1\x9b\xa6\x1cL\x08s\xd3\x91\xe9\x87\x98/\xbb\xd3'