自分でアルゴリズムを実装せずに、ランダムな文字列を 8 桁の数字にハッシュする方法はありますか?
ベストアンサー1
はい、内蔵のhashlib
モジュールまたは組み込みhash
関数。次に、ハッシュの整数形式に対してモジュロ演算または文字列スライス演算を使用して、最後の 8 桁を切り取ります。
>>> s = 'she sells sea shells by the sea shore'
>>> # Use hashlib
>>> import hashlib
>>> int(hashlib.sha1(s.encode("utf-8")).hexdigest(), 16) % (10 ** 8)
58097614L
>>> # Use hash()
>>> abs(hash(s)) % (10 ** 8)
82148974