【发布时间】:2014-04-16 06:50:13
【问题描述】:
大家好,我在使用这个脚本时遇到了一些问题。该脚本应该基本上提示输入,然后加密用户输入的任何内容,然后用户可以返回并通过键入加密消息来解密消息。脚本的加密部分工作正常,只是解密部分给我带来了问题。这是代码,当然提前感谢:D
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):
msg2 = []
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)
welcome = str(input("Press 1 to encrypt or anything else to decrypt: "))
if welcome in ['1', '1']:
var = input("Please type in what you want to encrypt: ")
if __name__ == '__main__':
key = 'This is the key'
msg = var
encrypted = encrypt(key, msg)
decrypted = decrypt(key, encrypted)
print ('Please take down the key and encryption message to decrypt this message at a later stage')
print ('This is what you want to encrypt:' , repr(msg))
print ('This is the encryption/decryption key:', repr(key))
print ('This is the encrypted message:', repr(encrypted))
else:
var2 = input("Please enter your encrypted message that you would like to decrypt: ")
if __name__ == '__main__':
key = 'This is the key'
msg = var2
decrypted = decrypt(key, var2)
print ('This is the decrypted message:', repr(decrypted))
【问题讨论】:
-
你能举一个加密消息的例子吗?
-
这是“Hello World”加密后的样子:“\x1dNV
O\nkOfD”
标签: python encryption cryptography