【python3】任意の文字数でhash値を生成する
pythonでhash値取ろうとすると長すぎて要件に合わないなんてことがあった。
指定文字数のhash値が欲しい…
そんな時に作ったやつを残しておく。
python 3.7.1にて動作確認
import random
from hashids import Hashids # pip install hashids
# len: 生成するhash文字数(int)
def create_prihash(len):
hashids = Hashids(
salt='cttr',
min_length=len,
alphabet='abcdefghijklmnopqrstuvwxyz0123456789'
)
# 最大10パターン、第二引数を大きくすればパターンが増える。
n = random.randint(1, 10)
print(hashids.encode(n))
if __name__ == '__main__':
create_prihash(6)