Python 添加字符串以获得给定数量的海绵哈希函数

Python 添加字符串以获得给定数量的海绵哈希函数,python,hash,cryptography,Python,Hash,Cryptography,我有一个字符串s和整数n。我需要将字符串k添加到s,这样hash3(s+k)=n 哈希函数如下所示 def hash3(msg): hash = 0 s = [14,0,15,7,8,3,5,12,6,2,9,1,4,10,13,11] for i in range(0,len(msg)): hash += ord(msg[i]) + ((s[ord(msg[i]) & 0xf])) * 0x35171 + ((s[(ord(msg[i]) >

我有一个字符串s和整数n。我需要将字符串k添加到s,这样hash3(s+k)=n 哈希函数如下所示

def hash3(msg):
    hash = 0
    s = [14,0,15,7,8,3,5,12,6,2,9,1,4,10,13,11]
    for i in range(0,len(msg)):
        hash += ord(msg[i]) + ((s[ord(msg[i]) & 0xf])) * 0x35171 + ((s[(ord(msg[i]) >> 4) & 0xf])) * 0xad3199;

    hash = s[hash&0xf] + s[hash>>4 & 0xf]*3 + s[hash>>8 & 0xf]*5 + s[hash>>12&0xf]*7 + s[(hash>>16)&0xf]*9+s[hash>>20&0xf]*11+s[hash>>24&0xf]*13+s[hash>>28&0xf]*15
   
    return hash

您可以将
msg
分解为
s+k
,这样您就已经在那里了。你有什么问题吗?如果是,请说明清楚。