Python密码学XOR算法编码流程及乘法密码教程

 更新时间:2022年05月24日 10:01:14   作者:菜鸟教程  
这篇文章主要为大家介绍了Python密码学XOR流程及乘法密码教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

在本章中,让我们了解XOR过程及其在Python中的编码以及乘法密码的教程

XOR算法

XOR算法的加密和解密转换ASCII字节格式的纯文本,并使用XOR过程将其转换为指定的字节.它为用户提供以下优势 :

  • 快速计算
  • 没有区别标记左侧和右侧
  • 易于理解和分析

代码

您可以使用以下代码执行XOR过程 :

def xor_crypt_string(data, key = 'awesomepassword', encode = False, decode = False):
   from itertools import izip, cycle
   import base64
   if decode:
      data = base64.decodestring(data)
   xored = ''.join(chr(ord(x) ^ ord(y)) for (x,y) in izip(data, cycle(key)))
   if encode:
      return base64.encodestring(xored).strip()
   return xored
secret_data = "XOR procedure"
print("The cipher text is")
print xor_crypt_string(secret_data, encode = True)
print("The plain text fetched")
print xor_crypt_string(xor_crypt_string(secret_data, encode = True), decode = True)

输出

XOR流程的代码为您提供以下输出 :

说明

  • 函数 xor_crypt_string()包括一个参数,用于指定编码和解码模式以及字符串值.
  • 基本功能是使用base64模块进行的,这些模块遵循XOR过程/操作来加密或解密纯文本/密文.

注意 :  XOR加密用于加密数据,并且难以通过强力方法破解,即通过生成随机加密密钥以匹配正确的密文.

乘法密码

使用凯撒密码技术时,加密和解密符号涉及使用简单的加法或减法基本过程将值转换为数字.

如果使用乘法转换为密文,它被称为环绕情况.考虑使用的字母和相关数字如下所示 :

这些数字将用于乘法过程,相关密钥为7.在这种场景中用于生成乘法密码的基本公式如下 :

(Alphabet Number * key)mod(total number of alphabets)

通过输出获取的数字映射到上面提到的表格和相应的字母作为加密字母.

Python中乘法密码的基本调制函数如下:

def unshift(key, ch):
   offset = ord(ch) - ASC_A
   return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)

注意 : 乘法密码的优点是它可以使用非常大的密钥,如8,953,851.计算机需要相当长的时间才能通过大多数900万个密钥进行暴力破解.

以上就是Python密码学XOR编码流程及乘法密码教程的详细内容,更多关于Python密码学XOR乘法密码的资料请关注脚本之家其它相关文章!

相关文章

  • Python 利用Entrez库筛选下载PubMed文献摘要的示例

    Python 利用Entrez库筛选下载PubMed文献摘要的示例

    这篇文章主要介绍了Python 利用Entrez库筛选下载PubMed文献摘要的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • Python数据分析pandas模块用法实例详解

    Python数据分析pandas模块用法实例详解

    这篇文章主要介绍了Python数据分析pandas模块用法,结合实例形式分析了pandas模块对象创建、数值运算等相关操作技巧与注意事项,需要的朋友可以参考下
    2019-11-11
  • 如何用值获取Python字典的键问题

    如何用值获取Python字典的键问题

    这篇文章主要介绍了如何用值获取Python字典的键问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 简单了解Python matplotlib线的属性

    简单了解Python matplotlib线的属性

    这篇文章主要介绍了简单了解Python matplotlib线的属性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • 利用Python实现RSA加密解密方法实例

    利用Python实现RSA加密解密方法实例

    过去几天我一直在尝试用Python实现RSA算法,下面这篇文章主要给大家介绍了关于利用Python实现RSA加密解密的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Python 遍历字典的方法汇总

    Python 遍历字典的方法汇总

    这篇文章主要介绍了Python 遍历字典的方法汇总的相关资料,需要的朋友可以参考下
    2023-09-09
  • Python实现简单HTML表格解析的方法

    Python实现简单HTML表格解析的方法

    这篇文章主要介绍了Python实现简单HTML表格解析的方法,涉及Python基于libxml2dom模块操作html页面元素的技巧,需要的朋友可以参考下
    2015-06-06
  • 对PyQt5中的菜单栏和工具栏实例详解

    对PyQt5中的菜单栏和工具栏实例详解

    今天小编就为大家分享一篇对PyQt5中的菜单栏和工具栏实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • pygame库实现俄罗斯方块小游戏

    pygame库实现俄罗斯方块小游戏

    这篇文章主要为大家详细介绍了pygame库实现俄罗斯方块小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 将自己的Python包发布到PyPI上的教程详解

    将自己的Python包发布到PyPI上的教程详解

    在Python中我们经常使用pip来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI上,本文小编就来教教大家如何将自己的Python包发布到PyPI上吧
    2023-09-09

最新评论