Python加密代码实现
小小异或
def xor(b1,b2):
result=[]
for i in range(len(b1)):
result.append(b1[i]^b2[i])
return result
准备:Python加密库PyCryptodome
PyCrypto是 Python 中密码学方面最有名的第三方文库,提供了许多加密算法的使用。可惜的是,它的开发工作于2012年就已停止。并且不支持Python3,所以用了pycryptodome这个库,它跟Crypto基本用法一样,但支持Python2.4之后和Python3。
安装
Linux系统直接用pip命令
pip install pycryptodome
导入Crypto
import Crypto
Windows系统,pycharm安装步骤
file---->settings---->project interpreter---->找到‘+’号—输入pycryptodome---->over
使用
对称密码
1.DES
加密
from Crypto.Cipher import DES
import binascii
#这是密钥
key = b'abcdefgh'
# 需要去生成一个DES对象
des = DES.new(key, DES.MODE_ECB)
# 需要加密的数据
text = 'hello world!'
text = text + (8 - (len(text) % 8)) * '=' #填充
# 加密的过程
encrypto_text = des.encrypt(text.encode())
encrypto_text = binascii.b2a_hex(encrypto_text)
print(encrypto_text)
结果
b'c720e6acbf9f18b03c1e210ccd2678f6'