【base64加密】js/ts的基础加密

这篇具有很好参考价值的文章主要介绍了【base64加密】js/ts的基础加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

base64的字符串简单加密,主用于网页缓存数据的加密。

适用于常规html、小游戏(egret、cocos、laya)等

原文参考:JS基于base64编码加密解密文本和图片(修订)_js base64加密-CSDN博客

测试:JS实现base64加密解密的方法 - web开发 - 亿速云


export class Base64 {

    private static _keyStr: string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

    /**字符串加密*/
    public static encode(e) {
        var t = "";
        var n, r, i, s, o, u, a;
        var f = 0;
        e = Base64._utf8_encode(e);
        while (f < e.length) {
            n = e.charCodeAt(f++);
            r = e.charCodeAt(f++);
            i = e.charCodeAt(f++);
            s = n >> 2;
            o = (n & 3) << 4 | r >> 4;
            u = (r & 15) << 2 | i >> 6;
            a = i & 63;
            if (isNaN(r)) {
                u = a = 64
            } else if (isNaN(i)) {
                a = 64
            }
            t = t + this._keyStr.charAt(s) + this._keyStr.charAt(o) + this._keyStr.charAt(u) + this._keyStr.charAt(a)
        }
        return t
    }

    /**字符串解密*/
    public static decode(e) {
        var t = "";
        var n, r, i;
        var s, o, u, a;
        var f = 0;
        e = e.replace(/[^A-Za-z0-9+/=]/g, "");
        while (f < e.length) {
            s = this._keyStr.indexOf(e.charAt(f++));
            o = this._keyStr.indexOf(e.charAt(f++));
            u = this._keyStr.indexOf(e.charAt(f++));
            a = this._keyStr.indexOf(e.charAt(f++));
            n = s << 2 | o >> 4;
            r = (o & 15) << 4 | u >> 2;
            i = (u & 3) << 6 | a;
            t = t + String.fromCharCode(n);
            if (u != 64) {
                t = t + String.fromCharCode(r)
            }
            if (a != 64) {
                t = t + String.fromCharCode(i)
            }
        }
        t = Base64._utf8_decode(t);
        return t
    }


    private static _utf8_encode(e) {
        e = e.replace(/rn/g, "n");
        var t = "";
        for (var n = 0; n < e.length; n++) {
            var r = e.charCodeAt(n);
            if (r < 128) {
                t += String.fromCharCode(r)
            } else if (r > 127 && r < 2048) {
                t += String.fromCharCode(r >> 6 | 192);
                t += String.fromCharCode(r & 63 | 128)
            } else {
                t += String.fromCharCode(r >> 12 | 224);
                t += String.fromCharCode(r >> 6 & 63 | 128);
                t += String.fromCharCode(r & 63 | 128)
            }
        }
        return t
    }

    private static _utf8_decode(e) {
        let t = "";
        let n = 0;
        let r = 0;
        let c1 = 0;
        let c2 = 0;
        let c3 = 0;
        while (n < e.length) {
            r = e.charCodeAt(n);
            if (r < 128) {
                t += String.fromCharCode(r);
                n++
            } else if (r > 191 && r < 224) {
                c2 = e.charCodeAt(n + 1);
                t += String.fromCharCode((r & 31) << 6 | c2 & 63);
                n += 2
            } else {
                c2 = e.charCodeAt(n + 1);
                c3 = e.charCodeAt(n + 2);
                t += String.fromCharCode((r & 15) << 12 | (c2 & 63) << 6 | c3 & 63);
                n += 3
            }
        }
        return t
    }
}


使用方法:文章来源地址https://www.toymoban.com/news/detail-732713.html

    
                    const num = Base64.encode(this.editBox.string);
                    Log.log("jia mi:", num)


                    const num = Base64.decode(this.editBox.string);
                    Log.log("解密:", num)

到了这里,关于【base64加密】js/ts的基础加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • base4解密(Base64加密算法)

    base64解密解码转换说明: 1、Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。 2、为了保

    2024年02月16日
    浏览(96)
  • base64加密解密

    base64加密解密过程 Base64会使用一串固定编码: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 加密过程 想要使用Base64加密,原文长度必须是3的倍数。如果原文不是3的倍数就填充其他符号来凑足成3的倍数; 1,将明文对照以ACSSI码表转换成一个8位二进制数; 2,将转换后的数

    2024年02月04日
    浏览(41)
  • Cocos Creator 定义属性指南(JS和TS)

    目录 简单说明 1.TS写法 2.JS写法 这是一个Cocos Creator 如何定义脚本属性的指南。 我这边整理了两个版本,JS和TS,如果还有其他方式,欢迎您的留言。 对我个人来说,刚开始写枚举和数组的时候会有点不习惯。还经常容易忘记怎么写。 在cocos creator 3.x 中官方主推的是:Type

    2024年02月14日
    浏览(27)
  • 利用Base64加密算法将数据加密解密

    Base64准确来说并不像是一种加密算法,而更像是一种编码标准。 我们知道现在最为流行的编码标准就是ASCLL,它用八个二进制位(一个char的大小)表示了127个字符,任何二进制序列都可以用这127个字符表示出来。 而Base64则是用6个二进制位表示了64个字符,也就是说,任何的

    2024年04月09日
    浏览(66)
  • 【base64】JavaScript&uniapp 将图片转为base64并展示

    Base64是一种用于编码二进制数据的方法,它将二进制数据转换为文本字符串。它的主要目的是在网络传输或存储过程中,通过将二进制数据转换为可打印字符的形式进行传输  图片大小从1.36MB到169kb 上面的代码中,toDataURL产生的是图片的base64编码,Base64编码必须是完整且正确

    2024年02月11日
    浏览(33)
  • 微信小程序之 base-64加密、解密

    后端获取 token 接口,需要加密认证

    2024年02月11日
    浏览(50)
  • Java的Base64加密解密详解

    大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在当今数字化时代,数据的安全性和可传递性变得尤为重要。Java编程语言提供了 Base64 编码和解码的工具,成为保障数据传输和存储安全性的一项重要技术

    2024年04月15日
    浏览(44)
  • jmeter下载base64加密版pdf文件

    如下图所示,接口jmeter执行后, 返回一串包含大小写英文字母、数字、+、/、=的长字符串 ,直接另存为pdf文件后,文件有大小,但是打不开;另存为doc文件后,打开可以看到和接口响应一致的长字符串。 仔细查看该接口具体信息,感觉和 ContentType: application/octet-stream、Cont

    2024年02月22日
    浏览(30)
  • 面试题-TS(一):TypeScript是什么?它与JavaScript有什么区别?

    面试题-TS(一):TypeScript是什么?它与JavaScript有什么区别? TypeScript是一种编程语言,它是JavaScript的超集。它通过添加静态类型、类、接口和模块等功能来扩展JavaScript。 JavaScript是一种广泛应用于Web开发的脚本语言,它的灵活性和易用性使得它成为了开发者们的首选。然而,Jav

    2024年02月15日
    浏览(36)
  • vue3中使用base64加密(两种方法)

    Hi,今天分享一个在vue中使用base64对用户名、密码进行加密的小案例。 我们是可以有两种方法的: 1.使用插件:js-base64 2.引入文件。 1.首先我们安装插件 2.项目中引入 3.使用 1.创建utils/base64.js文件夹,复制以下代码 2.在文件中引入该文件 3.使用 抓紧时间练起来吧,兄dei,再不练你

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包