Python 官方文档:入门教程 => 点击学习
这篇文章主要介绍“python的Caesar Cipher凯撒密码算法怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python的Caesar Cipher凯撒密码算法怎么
这篇文章主要介绍“python的Caesar Cipher凯撒密码算法怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python的Caesar Cipher凯撒密码算法怎么用”文章能帮助大家解决问题。
凯撒密码的算法具有以下特征;
Caesar Cipher Technique是一种简单易用的加密技术方法.
这是一种简单的替换密码类型.
每个纯文本字母都被一个字母替换,字母的位数固定不变./p>
下图描绘了Caesar密码算法实现的工作原理 :
Caesar密码算法的程序实现如下 :
def encrypt(text,s):result = "" # transverse the plain text for i in range(len(text)): char = text[i] # Encrypt uppercase characters in plain text if (char.isupper()): result += chr((ord(char) + s-65) % 26 + 65) # Encrypt lowercase characters in plain text else: result += chr((ord(char) + s - 97) % 26 + 97) return result#check the above functiontext = "CEASER CIPHER DEMO"s = 4print "Plain Text : " + textprint "Shift pattern : " + str(s)print "Cipher: " + encrypt(text,s)
你可以看到凯撒密码,即输出如下图所示 :
一次遍历一个纯文本字符.
对于给定纯文本中的每个字符,根据规则转换给定字符,具体取决于加密过程文本的说明和解密.
遵循这些步骤后,会生成一个新的字符串,称为密文.
密码文本可以被各种可能性攻击.其中一种可能性是暴力技术,其中涉及尝试每个可能的解密密钥.这种技术不需要太多努力,对于黑客来说相对简单.
黑客攻击凯撒密码算法的程序实现如下
message = 'GIEWIVrGMTLIVrHIQS' #encrypted messageLETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'for key in range(len(LETTERS)): translated = '' for symbol in message: if symbol in LETTERS: num = LETTERS.find(symbol) num = num - key if num < 0: num = num + len(LETTERS) translated = translated + LETTERS[num] else: translated = translated + symbolprint('Hacking key #%s: %s' % (key, translated))
考虑上一个示例中加密的密文.然后,使用密钥和使用暴力攻击技术的可能的黑客攻击方法的输出如下 :
关于“Python的Caesar Cipher凯撒密码算法怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网Python频道,小编每天都会为大家更新不同的知识点。
--结束END--
本文标题: Python的Caesar Cipher凯撒密码算法怎么用
本文链接: https://lsjlt.com/news/330009.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0