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乘法密码的资料请关注脚本之家其它相关文章!

相关文章

  • django项目中使用手机号登录的实例代码

    django项目中使用手机号登录的实例代码

    这篇文章主要介绍了django项目中使用手机号登录的实例代码,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Python获取网页数据详解流程

    Python获取网页数据详解流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python来获取网页的数据,主要应用了Requests库,大家可以在过程中查缺补漏,提升水平
    2021-10-10
  • Python并发编程队列与多线程最快发送http请求方式

    Python并发编程队列与多线程最快发送http请求方式

    假如有一个文件,里面有10万个url,需要对每个url发送http请求,并打印请求结果的状态码,如何编写代码尽可能快的完成这些任务呢
    2021-09-09
  • Python 支付整合开发包的实现

    Python 支付整合开发包的实现

    这篇文章主要介绍了Python 支付整合开发包的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 在Python的Flask框架中使用日期和时间的教程

    在Python的Flask框架中使用日期和时间的教程

    这篇文章主要介绍了在Python的Flask框架中使用日期和时间的教程,包括对各个时区之间转换的一些处理,需要的朋友可以参考下
    2015-04-04
  • 解决Python httpx 运行过程中无限阻塞的问题

    解决Python httpx 运行过程中无限阻塞的问题

    这篇文章主要介绍了解决Python httpx 运行过程中无限阻塞的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Mysql分组查询group by与with rollup方式

    Mysql分组查询group by与with rollup方式

    这篇文章主要介绍了Mysql分组查询group by与with rollup方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Spectral clustering谱聚类算法的实现代码

    Spectral clustering谱聚类算法的实现代码

    谱聚类是从图论中演化出来的算法,它的主要思想是把所有的数据看做空间中的点,这些点之间可以用边连接起来,今天通过本文给大家介绍Spectral clustering谱聚类算法的实现,感兴趣的朋友一起看看吧
    2022-04-04
  • python实现从web抓取文档的方法

    python实现从web抓取文档的方法

    这篇文章主要介绍了python实现从web抓取文档的方法,以抓取人人网页面为例讲述了完整的web文档抓取方法,需要的朋友可以参考下
    2014-09-09
  • 在OpenCV里实现条码区域识别的方法示例

    在OpenCV里实现条码区域识别的方法示例

    这篇文章主要介绍了在OpenCV里实现条码区域识别的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论