Cryptography With Python 简明教程

Cryptography with Python - XOR Process

在本章节中,让我们了解 XOR 过程及其在 Python 中的编码。

Algorithm

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

  1. Fast computation

  2. 左右侧没有标记区别

  3. 易于理解和分析

Code

可以使用以下代码段执行 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)

Output

XOR 过程的代码给你以下输出:-

xor

Explanation

  1. xor_crypt_string() 函数包含一个参数,用于指定编码和解码模式以及字符串值。

  2. 基本函数使用 Base64 模块,遵循 XOR 程序/操作来加密或解密纯文本/密码文本。

Note − XOR 加密用于加密数据,并且很难通过暴力攻击方法(这是一种通过生成随机加密密钥来匹配正确的密码文本)破解。