python一次性密码如何实现
今天小编给大家分享一下python一次性密码如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
一次性密码密码
一次性密码密码是一种Vignere密码,包括以下功能;
这是一个牢不可破的密码.
密钥与加密邮件的长度完全相同.
密钥由随机符号组成.
顾名思义,密钥仅使用一次,并且从不再用于任何其他消息加密.
由于这个原因,加密邮件很容易受到密码分析者的攻击.用于一次性密码密码的密钥称为 pad ,因为它打印在纸垫上.
为什么它是坚不可摧的?
由于以下功能,密钥是牢不可破的;
密钥只要是给定的消息.
密钥是真正随机的,特别是自动生成的.
按模10/26/2计算的密钥和纯文本.
每个密钥应使用一次,并由发送方和接收方销毁.
应该有两个密钥副本:一个带发件人,另一个带接收者.
加密
要加密字母,用户需要在明文下面写一个密钥.明文字母位于顶部,密钥字母位于左侧.两个字母之间的横截面是纯文本.它在下面的示例中描述 :
解密
要解密一封信,用户会取左边的关键字母,并在该行中找到密文字母.纯文本字母位于列的顶部,用户可以在其中找到密文字母.
一次性密码密码的实现
Python包含一个用于 one-time-pad 密码实现的hacky实现模块.包名称称为One-Time-Pad,其中包括一个命令行加密工具,该工具使用类似于一次性密码密码算法的加密机制.
安装
您可以使用以下命令安装此模块 :
pip install onetimepad
如果您希望从命令行使用它,请运行以下命令 :
onetimepad
代码
以下代码有助于生成一次性密码密码;
import onetimepadcipher = onetimepad.encrypt('One Time Cipher', 'random')print("Cipher text is ")print(cipher)print("Plain text is ")msg = onetimepad.decrypt(cipher, 'random')print(msg)
输出
运行上面和下面给出的代码时,您可以观察到以下输出;
注意 : 如果密钥的长度小于消息的长度(纯文本),则加密的消息很容易破解.
在任何情况下,密钥不一定是随机的,这使得一次性密码密码作为一种有价值的工具.
以上就是“python一次性密码如何实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341