crypto.subtle.digest(“SHA-256“, e)是浏览器端的一种sha256加密方式

async function digestMessage(t) {
    if (crypto && crypto.subtle && crypto.subtle.digest) {
        const e = new TextEncoder().encode(t)
          , r = await crypto.subtle.digest("SHA-256", e);
        return Array.from(new Uint8Array(r)).map(a=>a.toString(16).padStart(2, "0")).join("")
    } else
        return sha256Exports.sha256(t).toString()
}
const generateSignature = async t=>{
    const {t: e, m: r} = t
      , n = {}.PUBLIC_SECRET_KEY
      , a = `${e}:${r}:${n}`;
    return await digestMessage(a)
}

生成sign的js代码

其中generateSignature是生成sign
digestMessage是对a进行加密。

a是通过加断点得知
e为13位时间戳
r为你输入的文本
n = “undefined”

a = e:r:n

其中digestMessage的第一个if里的加密是在https网站中才可以运行的,目的是sha256加密。else里浏览器中不运行,但目的也是sha256加密

所以python中直接

import hashlib
import time

n = "undefined"
t = int(time.time()*1000)
message = "你好"
signText = f"{t}:{message}:{n}"
sha256 = hashlib.sha256()

sha256.update(signText.encode("utf-8"))
sign = sha256.hexdigest()

就得到sign了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值