密码学基础-加密代码实现

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'

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值