Python3 学习加解密 系列 1 --Base

  1. Base 家族
    结合源码的学习
import base64

加密
b64,b32,b16,b85 用法一致
encrypt_data = base64.b64encode(data.encode())    
print(encrypt_data)

#默认传入一个参数,第二个参数altchars 字节型的两个任意字母,替换+/ 为了某些特定需要要
其实: base64.b64encode(bytes,b'-_')  ==  urlsafe_b64encode(bytes) 

同一样的   base64.b64encode(bytes,b'+/')  需要还原, 还存在第三个参数 几乎不用管,
大概意思:传进来一个数, 有这样一个正则 re.match(b'^[A-Za-z0-9+/]*={0,2}$', s) 判断是否像base64
不像就 报有一个 Non-base64 digit found  的 error 


解密
decode(input,output)  用来解决文件中的base64的,  传入两个 二进制文件的句柄:
一般用法 :
with open('file1','rb') as f:
    with open('file2','wb') as g :
   	    base64.decode(f,g)
结果是把 file1  中的 base64加密内容 解密到 file2 
encode() 则是把 file1 中的 内容  base64加密 到 file2
 
 遇到有特殊符号的base64:
 用urlsafe_b64encode:
 _urlsafe_encode_translation = bytes.maketrans(b'+/', b'-_')
_urlsafe_decode_translation = bytes.maketrans(b'-_', b'+/')
制定了两个规则,加密时 把 +和/ 替换成 -_ 再base64, 解密时先还原



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值