博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度翻译sign加密算法
阅读量:7233 次
发布时间:2019-06-29

本文共 2378 字,大约阅读时间需要 7 分钟。

var i = "en";function n(r, o) {    for (var t = 0; t < o.length - 2; t += 3) {        var e = o.charAt(t + 2);        e = e >= "a" ? e.charCodeAt(0) - 87 : Number(e),            e = "+" === o.charAt(t + 1) ? r >>> e : r << e,            r = "+" === o.charAt(t) ? r + e & 4294967295 : r ^ e    }    return r}function sign(r) {    var t = r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g);    if (null === t) {        var a = r.length;        a > 30 && (r = "" + r.substr(0, 10) + r.substr(Math.floor(a / 2) - 5, 10) + r.substr(-10, 10))    } else {        for (var C = r.split(/[\uD800-\uDBFF][\uDC00-\uDFFF]/), h = 0, f = C.length, u = []; f > h; h++)            "" !== C[h] && u.push.apply(u, e(C[h].split(""))),            h !== f - 1 && u.push(t[h]);        var g = u.length;        g > 30 && (r = u.slice(0, 10).join("") + u.slice(Math.floor(g / 2) - 5, Math.floor(g / 2) + 5).join("") + u.slice(-10).join(""))    }    var l = void 0        , d = "" + String.fromCharCode(103) + String.fromCharCode(116) + String.fromCharCode(107);    l = null !== i ? i : (i = o.common[d] || "") || "";    for (var m = l.split("."), S = Number(m[0]) || 0, s = Number(m[1]) || 0, c = [], v = 0, F = 0; F < r.length; F++) {        var p = r.charCodeAt(F);        128 > p ? c[v++] = p : (2048 > p ? c[v++] = p >> 6 | 192 : (55296 === (64512 & p) && F + 1 < r.length && 56320 === (64512 & r.charCodeAt(F + 1)) ? (p = 65536 + ((1023 & p) << 10) + (1023 & r.charCodeAt(++F)),            c[v++] = p >> 18 | 240,            c[v++] = p >> 12 & 63 | 128) : c[v++] = p >> 12 | 224,            c[v++] = p >> 6 & 63 | 128),            c[v++] = 63 & p | 128)    }    for (var w = S, A = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(97) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(54)), b = "" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(51) + ("" + String.fromCharCode(94) + String.fromCharCode(43) + String.fromCharCode(98)) + ("" + String.fromCharCode(43) + String.fromCharCode(45) + String.fromCharCode(102)), D = 0; D < c.length; D++)        w += c[D],            w = n(w, A);    return w = n(w, b),        w ^= s,    0 > w && (w = (2147483647 & w) + 2147483648),        w %= 1e6,    w.toString() + "." + (w ^ S)}srkl = sign('970531');console.log(srkl);复制代码

转载于:https://juejin.im/post/5cefdf78f265da1b7f29633a

你可能感兴趣的文章
[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】
查看>>
浅谈struts2的国际化----i18n
查看>>
一步一步从原理跟我学邮件收取及发送 3.telnet命令行发一封信
查看>>
【BIEE】08_修改浏览器标题栏显示内容
查看>>
MFC中的双缓冲技术(解决绘图闪烁问题)
查看>>
select * from A.B.C.D sqlserver 中 select * from .Literary_PuDong.dbo.Users
查看>>
linux LVM:物理卷逻辑卷
查看>>
Windows10 显示库、隐藏6个目录、隐藏OneDrive
查看>>
IE的layout布局
查看>>
常见前端知识摘要
查看>>
使用neon 开发nodejs addon
查看>>
Win8 Metro(C#)数字图像处理--2.69中点滤波器
查看>>
Python之排序
查看>>
Appium 点击屏幕
查看>>
正则表达式30分钟入门教程
查看>>
新建DataTable添加列添加行
查看>>
[LeetCode]460.LFU缓存机制
查看>>
NaviSoft31.源码开发完成
查看>>
Maven: Cannot run program "protoc"
查看>>
英特尔® Software Guard Extensions 教程系列:第一部分,英特尔® SGX 基础
查看>>