如何将一个大字符串编码(哈希)成一个4个字母的字符串?

时间:2017-05-09 07:33:43

标签: python hash

我想基于多列中的条目为数据表的每一行构建一个ID。

如何继续转换长字符串,让我们说hello2017good为3或4个字母的字符串,只允许使用字母但大写/小写?

1 个答案:

答案 0 :(得分:1)

采用标准哈希算法,如sha1,并使用返回的随机字节数组索引到a到z(和A-Z)的表中。

import hashlib
h = hashlib.sha1(b"hello2017good")
d = h.digest()
s = ""
for i in range(0,4):
    x = d[i] % 52
    if x >= 26:
        s += chr(ord('A') + x - 26)
    else:
        s += chr(ord('a') + x)
print(s)