我想做一个维格纳密码解密器。消息将使用我编写的当前代码进行解密。但是,它没有考虑标点符号和空格。我如何使它考虑到这两个组成部分?以下是我的代码:
vigenered_message = 'dfc jhjj ifyh yf hrfgiv xulk? vmph bfzo! qtl eeh gvkszlfl yyvww kpi hpuvzx dl tzcgrywrxll!'
keyword = 'friends'
def vigenere_decrypt(encrypted_vigener, keyword):
keyword_length = len(keyword)
keyword_as_int = [ord(i) for i in keyword]
encrypted_vigener_int = [ord(i) for i in encrypted_vigener]
plaintext = ''
for i in range(len(encrypted_vigener_int)):
value = (encrypted_vigener_int[i] - keyword_as_int[i % keyword_length]) % 26
plaintext += chr(value + 65)
return plaintext
print(vigenere_decrypt(vigenered_message, keyword))
这个偏移量应该是:'你能解码这个吗?干得好! 你正在成为密码学的专家
试试这个
输出:
^{pr2}$请注意,您应该将字符串以原始格式分配给变量,否则字符串中的
\
、"
、'
等字符会在程序流中造成中断。在使用这个:
不是这个:
相关问题 更多 >
编程相关推荐