题解 | 哈希冲突

哈希冲突

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)

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务