找回密码
 立即注册
老冷培训班汇总介绍老冷付费工具汇总介绍老鬼UI编程学院EasyClick所有产品简介EasyClick官方交流群
IOS授权价格IOS/安卓 自助提卡链接安卓-中控群控-电脑授权-购买IOSusb版投屏群控教程IOS脱机版激活教程
IOS脱机版wifi局域网脚本中控教程IOS脱机版wifi局域网群控投屏教程远程调试frp,兼容安卓/IOS热更新工具,兼容安卓/IOS脱机版老冷网盘
查看: 501|回复: 0

[源码分享] 【JavaScript】纯js,base64字符串加密解密

[复制链接] |主动推送

1054

主题

135

回帖

4万

积分

管理员

【导师】

积分
40636
最后登录
2024-11-23
在线时间
1648 小时

兔年勋章金牌银牌铜牌导师微信认证热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老QQ认证EC VIP学员

发表于 2024-10-4 23:26:55 | 显示全部楼层 |阅读模式

马上注册,解锁更多高级玩法

您需要 登录 才可以下载或查看,没有账号?立即注册

×
加密:字符串加密成base64

[JavaScript] 纯文本查看 复制代码
function stringToBase64(str) {
    // 将字符串转换为UTF-8字节数组
    let utf8 = unescape(encodeURIComponent(str))
    // Base64字符集
    let chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
    // 初始化输出字符串
    let out = ''
    // 遍历UTF-8字节数组
    for (let i = 0; i < utf8.length;) {
        let c1 = utf8.charCodeAt(i++) & 0xff
        if (i === utf8.length) {
            let enc1 = c1 >> 2
            let enc2 = (c1 & 0x3) << 4
            out += chars.charAt(enc1) + chars.charAt(enc2) + '=='
            break
        }
        let c2 = utf8.charCodeAt(i++)
        if (i === utf8.length) {
            let enc1 = c1 >> 2
            let enc2 = ((c1 & 0x3) << 4) | (c2 >> 4)
            let enc3 = (c2 & 0xf) << 2
            out += chars.charAt(enc1) + chars.charAt(enc2) + chars.charAt(enc3) + '='
            break
        }
        let c3 = utf8.charCodeAt(i++)
        let enc1 = c1 >> 2
        let enc2 = ((c1 & 0x3) << 4) | (c2 >> 4)
        let enc3 = ((c2 & 0xf) << 2) | (c3 >> 6)
        let enc4 = c3 & 0x3f
        out += chars.charAt(enc1) + chars.charAt(enc2) + chars.charAt(enc3) + chars.charAt(enc4)
    }
    return out
}
let ret = stringToBase64("老冷编程学院[url=http://bbs.laoleng.vip]http://bbs.laoleng.vip[/url]")
logd(ret)
//结果6ICB5Ya357yW56iL5a2m6ZmiW3VybD1odHRwOi8vYmJzLmxhb2xlbmcudmlwXWh0dHA6Ly9iYnMubGFvbGVuZy52aXBbL3VybF0=



解密:base64转字符串
[JavaScript] 纯文本查看 复制代码
function base64ToString(base64) {
    let chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
    let out = '', i = 0, len = base64.length, c1, c2, c3, c4
    while (i < len) {
        c1 = chars.indexOf(base64.charAt(i++)) << 2
        c2 = chars.indexOf(base64.charAt(i++))
        out += String.fromCharCode((c1 | (c2 >> 4)) & 0xFF)
        if (i >= len || base64.charAt(i) === '=') break
        c3 = chars.indexOf(base64.charAt(i++))
        out += String.fromCharCode(((c2 << 4) | (c3 >> 2)) & 0xFF)
        if (i >= len || base64.charAt(i) === '=') break
        c4 = chars.indexOf(base64.charAt(i++))
        out += String.fromCharCode(((c3 << 6) | c4) & 0xFF)
    }
    // 将UTF-8字节数组转换回字符串
    return decodeURIComponent(escape(out))
}
logd(base64ToString("6ICB5Ya357yW56iL5a2m6ZmiW3VybD1odHRwOi8vYmJzLmxhb2xlbmcudmlwXWh0dHA6Ly9iYnMubGFvbGVuZy52aXBbL3VybF0="))
//结果 老冷编程学院[url=http://bbs.laoleng.vip]http://bbs.laoleng.vip[/url]


VIP培训班介绍汇总[安卓/IOSusb版/IOS脱机版/PHP/nodejs等]
http://bbs.laoleng.vip/forum.php?mod=viewthread&tid=428

付费工具介绍汇总[热更/远程调试/IOS易语言UI/拓展插件等]
http://bbs.laoleng.vip/forum.php?mod=viewthread&tid=430
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

想要力量吗骚年上一条 /2 下一条

关闭

免责声明|Archiver|手机版|老冷编程学院 ( 闽ICP备20013040号-2 )|网站地图

GMT+8, 2024-11-24 09:20

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表