python加密与解密_Python 加密与解密 实现

对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。对称加密只有一个秘钥,作为私钥。

常见的对称加密算法:DES,AES,3DES等。

非对称加密

非对称加密指的是:对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。

常见的非对称加密算法:RSA,DSA,ECC等。

ASE 常用的加密模式:

常用的加密模式有 4 种,分别是 ECB(电子密码本模式)、CBC(密码分组链接模式)、CFB、OFB,一般使用 CBC 模式,四种模式除了 ECB 相对不安全外,其它三种模式没有太大的差别。

# 使用库pycryptodome 3.9.7

from Crypto.Cipher import AES

# 密码长度一般为16、24、32 使用空格补足长度

def auto_fill(x):

if len(x) <= 32:

while len(x) not in [16, 24, 32]:

x += " "

return x.encode()

else:

err_msg = "密码长度不能超过32位"

return err_msg

# 需加密数据的二进制长度应为 16 的整数倍 使用空格补足长度

def add_to_16(text):

if len(text.encode('utf-8')) % 16:

add = 16 - (len(text.encode('utf-8')) % 16)

else:

add = 0

text = text + (' ' * add)

return text.encode('utf-8')

def encrypt(text):

global key, iv, mode

cipher = AES.new(auto_fill(key), mode, add_to_16(iv))

encr_text = cipher.encrypt(add_to_16(text))

return encr_text

def decrypt(encr_text):

global key, iv, mode

cipher = AES.new(auto_fill(key), mode, add_to_16(iv))

text = cipher.decrypt(encr_text).decode()

return text

key = "123456"

iv = 'AAAAAA'

mode = AES.MODE_CBC

text = '唧唧复唧唧...'

encr_text = encrypt(text)

print(encr_text)

text = decrypt(encr_text)

print(text)

# 结果

"""

b'\xf7\x8dB\x1cA0\xb9\xc8+2Z\x8e\xf7\x94\xb6\xaeqW\x01\x0e\xcf\xf0\x87o\xcd\xb4u\xb6\xbe\x9aL\x98'

唧唧复唧唧...

"""

待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
企业泄密的途径: 1、内部人员将资料通过软盘、U盘或移动硬盘从电脑中拷出带走; 2、内部人员通过互联网将资料通过电子邮件发送到自己的邮箱; 3、将文件打印后带出; 4、将办公用便携式电脑直接带回家中; 5、电脑易手后,硬盘上的资料没有处理,导致泄密; 6、随意将文件设成共享,导致非相关人员获取资料; 7、移动存储设备共用,导致非相关人员获取资料; 8、将自己的笔记本带到公司,连上局域网,窃取资料; 9、乘同事不在,开启同事电脑,浏览,复制同事电脑里的资料; 实现方法: 采用强制加密方式,文档只要一打开就会被加密。文档被加密后,无论通过Email、FTP、QQ、MSN、U盘等方式发送到外网,都无法打开文档。 适合的文档类型: 全面支持各种文件类型动态策略,在有新的软件版本时能快速添加。不需要重新安装加密软件,也不需要人工操作,只需要在服务器更新策略文件即可。方便快捷,降低维护成本。 办公文件加密:Office文档加密,WPS文档加密,PDF文档加密等; 二维图纸加密:AutoCAD,清华英泰MDS,TeamDesigner,基于AutoCAD内核,MasterCAM,FastCAM,等图纸; 三维图纸加密:Pro/E,Solid Works,Solid Edge,CATIA,UG,Cimatron,AutoDesk Inventor,I_Deas等图纸; 设计文件加密:Photoshop,CorelDraw,AcdSee,3Dmax,Illustrator,Fireworks,Flash,Dreamweaver等图片; 源代码加密:VB、VC、ADS、Keil、PB、VB.net、PHP、ASP、C#、Java、Delphi等源代码加密

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值