md5的长度,默认为128bit,也就是128个0和1的二进制串,及32位十六进制。
16位的md5:是从32位md5值来的。是将32位md5去掉前八位,去掉后八位得到的。
碰撞代码:
import hashlib
for num in range(10000,9999999999):
res = hashlib.sha1(str(num).encode()).hexdigest() #sha1改为题目需要的算法
if res[0:5] == "903ed": #对hash的前五位为"903ed"的数字进行碰撞
print(str(num)) #等待执行结束 输出结果
break