您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > 建站教程 >
    通过JS实现Base64在线加密/解密方法
    时间:2024-09-03 19:10 作者:菜鸟哥 浏览:收藏 挑错 打印

    正文:

    本篇文章给大家介绍一下在JS当中该如何对字符串进行base64加密,首先我们得引入一个类库才行,具体代码:

    <script>
    // 创建Base64对象
    var Base64 = {
    _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    encode: function(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
    },
    decode: function(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
    },
    _utf8_encode: function(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
    },
    _utf8_decode: function(e) {
    var t = "";
    var n = 0;
    var r = c1 = c2 = 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
    }
    }

    引入上面的代码之后,通过调用方法即可,例如:

    var string = 'Hello World!';
    // 加密方法
    var jiami= Base64.encode(string);
    console.log(jiami); // 输出: "SGVsbG8gV29ybGQh"
    // 解密方法
    var jiemi = Base64.decode(encodedString);
    console.log(jiemi); // 输出: "Hello World!"

    好了,以上就是本篇文章的全部内容了,希望能够帮助到大家

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    thaiphoon怎么用?thaiphoon burner使用教程菜鸟吧源码源码thaiphoon怎么用?thaiphoon burner使
    要么是一个属于自己的博客菜鸟源码要么是一个属于自己的博客菜鸟源码
    ASP(7).exe 什么是域名和空间(8).exe 二级域名二级目录(9).exe 更新带动器(10).exe 什么是ASP(7).exe 什么是域名和空间(8).e