题解 | 哈希冲突
哈希冲突
https://www.nowcoder.com/practice/37594c5b299e495096a99cf6e4cdf2f5
import hashlib
import string
import random
def sha256(text: str) -> str:
return hashlib.sha256(text.encode()).hexdigest()
enc_len = 0
enc_key = ""
def H(s):
combined = enc_key + s
return sha256(combined)[:enc_len]
def solve():
# 在此处补全代码
#chars:定义为 string.ascii_lowercase,即小写英文字母字符串 'abcdefghijklmnopqrstuvwxyz'。
chars =string.ascii_lowercase
d = {}
while 1 :
#random.choice(chars) 每次从chars小写字母字符串中 随机选择一个字符。
s = ''.join(random.choice(chars) for _ in range(enc_len))
h = H(s)
if h not in d:
d[h] = s
else:
s1 = d[h]
if s != s1:
return (s,s1)
查看29道真题和解析