gpt4 book ai didi

python - 自定义 Python 加密算法

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:36 28 4
gpt4 key购买 nike

嘿,我研究这个已经有一段时间了,我记得我的兄弟引导我完成了这个完全相同的算法。

基本上,它只是添加键中字符和短语的 ascii 值。

我可以用这个加密它:

def encrypt(key, string):
encoded = ''
for i in range(len(string)):
key_c = ord(key[i % len(key)])
string_c = ord(string[i % len(string)])
encoded += chr((key_c + string_c) % 127)
return encoded

但就解密而言,我似乎不记得我们做了什么。很难逆转模组 :P有什么想法吗?

最佳答案

很简单,让我们看看它是如何工作的。首先,通过减去 key 得到加密消息。

enc = msg + key (mod 127)

如何获取原始消息?很简单,两边减去key

enc - key = msg + key - key (mod 127)

我们得到:

enc - key = msg (mod 127)

更多详情请引用Modular arithmetic ,我认为它应该属于组/场/环之一。我不是数学专家,要进一步阅读,您应该查看 Number theory .这是改进后的代码:

def encrypt(key, msg):
encryped = []
for i, c in enumerate(msg):
key_c = ord(key[i % len(key)])
msg_c = ord(c)
encryped.append(chr((msg_c + key_c) % 127))
return ''.join(encryped)

def decrypt(key, encryped):
msg = []
for i, c in enumerate(encryped):
key_c = ord(key[i % len(key)])
enc_c = ord(c)
msg.append(chr((enc_c - key_c) % 127))
return ''.join(msg)

if __name__ == '__main__':
key = 'This_is_my_awsome_secret_key'
msg = 'Hello world'
encrypted = encrypt(key, msg)
decrypted = decrypt(key, encrypted)

print 'Message:', repr(msg)
print 'Key:', repr(key)
print 'Encrypted:', repr(encrypted)
print 'Decrypted:', repr(decrypted)

输出

Message: 'Hello world'
Key: 'This_is_my_awsome_secret_key'
Encrypted: '\x1dNV`O\nkO`fD'
Decrypted: 'Hello world'

关于python - 自定义 Python 加密算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5131227/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com