一些接口加密摘要的处理思路

分享  收藏
0 / 159

拿法大大的加密规则举例(Python)nodejs 用 CryptoJS,里面一样基本都有

image.png

Base64(SHA1(app_id +MD5(timestamp)+SHA1(app_secret+account_type+open_id)))

拆解加密的内容从里到外

1.第一个 MD5 加密,先拼接参数。只有一个时间戳,直接放参数加密

nowtime = datetime.datetime.now()
#时间戳
ts = nowtime.strftime("%Y%m%d%H%M%S")
md5str = hashlib.md5(ts.encode('utf-8')).hexdigest().upper()

2.第二个 SHA1 加密,先拼接参数,注意参数规则按参数名排序,
打个比方,参数 123
app_secret //这个不算业务参数,不用管,不然它是排第二的,排序就 A-Z,0-9,特殊字符最后
account_type
open_id
假如新增业务参数 customer_id 排序是这样
app_secret+account_type+customer_id+open_id

第一个加密(字符)就完成了 SHA1(app_secret+account_type+customer_id+open_id)

cs1 = app_secret+account_type+customer_id+open_id

sha1str = hashlib.sha1(cs1.encode('utf-8')).hexdigest().upper()

3.第三个还是个 SHA1 加密,是前面两个加密出来的加一起(每个都需要转大写)

cs3 = appid+md5str+sha1str #注意前面还有个appid
sha2str = hashlib.sha1(cs3.encode('utf-8')).hexdigest().upper()

4.第四个就是最后的 base64 加密,直接放进去就可以了,不用转大小写,转完什么都不是了

msg_digest = base64.b64encode(sha2str.encode('utf-8')).decode()

基本上 hashlib 这个模块都有这些加密,自己 AI 方法就行了
跟加减乘除的逻辑一样