可能有的人使用Excel加密比较麻烦,这篇主要就是获取exce报文,提取需要加密的数据,python加密,替换原始数据,达到想要的加密报文。
#-*- coding=utf-8 -*-
import xlrd
import base64
import re
# 打开xlsm报文,启用宏的excel
workbook=xlrd.open_workbook(u'C:\\Users\\54105\\Desktop\\报文拼接器.xlsm')
# 根据sheet名获取工作簿
sheet1=workbook.sheet_by_name(u'Sheet1')
# 获取单元格数据,注意,A1代表(0,0),所以(7,1)代表B8,前面代表行,后面代表列
xmlm=sheet1.cell(7,1).value
# 使用正则表达式提取name标签的值
A=re.findall(r"<name>(.+?)</name>",xmlm)[0]
# 获得的字符串使用encode(encoding='utf-8'),不然加密报错
name=A.encode(encoding='utf-8')
# 使用base64加密
p = base64.b64encode(name)
# 将字节转换位字符串
pp=str(p,encoding='utf-8')
# 打印加密的字符串数据
print(pp)
# 打印获取的xml原始报文
print(xmlm)
# 将原始数据替换成加密过的数据,A是原始数据,pp为加密的数据
xmlm2=xmlm.replace(A,pp)
# 打印加密过的报文
print(xmlm2)
最终结果如下: