Python 密码学 - XOR 过程
本章我们将了解 XOR 过程及其在 Python 中的编码。
算法
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 加密用于加密数据,并且难以通过暴力破解方法破解,即通过生成随机加密密钥来匹配正确的密文。
广告