发布时间:2023-08-31 09:30
一次性密码密码是一种Vignere密码,包括以下功能;
由于这个原因,加密邮件很容易受到密码分析者的攻击.用于一次性密码密码的密钥称为 pad ,因为它打印在纸垫上.
由于以下功能,密钥是牢不可破的;
要加密字母,用户需要在明文下面写一个密钥.明文字母位于顶部,密钥字母位于左侧.两个字母之间的横截面是纯文本.它在下面的示例中描述 :
要解密一封信,用户会取左边的关键字母,并在该行中找到密文字母.纯文本字母位于列的顶部,用户可以在其中找到密文字母.
Python包含一个用于 one-time-pad 密码实现的hacky实现模块.包名称称为One-Time-Pad,其中包括一个命令行加密工具,该工具使用类似于一次性密码密码算法的加密机制.
您可以使用以下命令安装此模块 :
pip install onetimepad
如果您希望从命令行使用它,请运行以下命令 :
onetimepad
以下代码有助于生成一次性密码密码;
import onetimepad cipher = onetimepad.encrypt(\'One Time Cipher\', \'random\') print(\"Cipher text is \") print(cipher) print(\"Plain text is \") msg = onetimepad.decrypt(cipher, \'random\') print(msg)
运行上面和下面给出的代码时,您可以观察到以下输出;
注意 : 如果密钥的长度小于消息的长度(纯文本),则加密的消息很容易破解.
在任何情况下,密钥不一定是随机的,这使得一次性密码密码作为一种有价值的工具.
以上就是python密码学一次性密码的实现的详细内容,更多关于python一次性密码的资料请关注脚本之家其它相关文章!
【老生谈算法】matlab实现基于肤色和眼睛定位的人脸检测算法源码——人脸检测算法
Transformer新型神经网络在机器翻译中的应用 | 百万人学AI
SAP Fiori 的附件处理(Attachment handling)
我是如何将一个老系统的kafka消费者服务的性能提升近百倍的
Mybatis源码详解系列(三)--从Mapper接口开始看Mybatis的执行逻辑
以数据为中心和模型为中心的AI是贝叶斯论和频率论的另一种变体吗?
官宣!Apache Doris 从 Apache 孵化器毕业,正式成为 Apache 顶级项目