博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
URL—base64加密
阅读量:5886 次
发布时间:2019-06-19

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

hot3.png

1、base64是php自带的加密、解密函数,在php中可直接使用:

    base64_encode($id)——加密;base64_decode($mid)——解密。

2、js中对数据进行base64的加密,需引入js:

[javascript] view plaincopyprint?    var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";        var base64DecodeChars = new Array(        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,        52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,        -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,        -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);                /*      *       * 加密      *       */        function Base64Encode(str) {            var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";            var out, i, len;            var c1, c2, c3;            len = str.length;            i = 0;            out = "";            while (i < len) {                c1 = str.charCodeAt(i++) & 0xff;                if (i == len) {                    out += base64EncodeChars.charAt(c1 >> 2);                    out += base64EncodeChars.charAt((c1 & 0x3) << 4);                    out += "==";                    break;                }                c2 = str.charCodeAt(i++);                if (i == len) {                    out += base64EncodeChars.charAt(c1 >> 2);                    out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));                    out += base64EncodeChars.charAt((c2 & 0xF) << 2);                    out += "=";                    break;                }                c3 = str.charCodeAt(i++);                out += base64EncodeChars.charAt(c1 >> 2);                out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));                out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));                out += base64EncodeChars.charAt(c3 & 0x3F);            }            return out;        }                /*      *       * 解密      *       */        function Base64Decode(str) {            var c1, c2, c3, c4;            var i, len, out;            len = str.length;            i = 0;            out = "";            while (i < len) {                do {                    c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];                } while (i < len && c1 == -1);                if (c1 == -1) break;                do {                    c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];                } while (i < len && c2 == -1);                if (c2 == -1) break;                out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));                do {                    c3 = str.charCodeAt(i++) & 0xff;                    if (c3 == 61) return out;                    c3 = base64DecodeChars[c3];                } while (i < len && c3 == -1);                if (c3 == -1) break;                out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));                do {                    c4 = str.charCodeAt(i++) & 0xff;                    if (c4 == 61) return out;                    c4 = base64DecodeChars[c4];                } while (i < len && c4 == -1);                if (c4 == -1) break;                out += String.fromCharCode(((c3 & 0x03) << 6) | c4);            }            return out;        }                /*      *       * 获取迅雷地址      *       */        function GetThunderUrl(url) {            var thunder = "AA" + url + "ZZ";            thunder = "thunder://" + Base64Encode(thunder);            return thunder;        }                /*      *       * 获取旋风地址      *       */        function GetQQDownloadUrl(url) {            var qqDownload = url;            qqDownload = "qqdl://" + Base64Encode(qqDownload);            return qqDownload;        }                /*      *       * 获取快车地址      *       */        function GetFlashgetUrl(url) {            var flashget = "[FLASHGET]" + url + "[FLASHGET]";            flashget = "flashget://" + Base64Encode(flashget);            return flashget;        }

    将以上的js代码复制粘贴到一个js文件中,将其引入,就能在js中正常使用base64方法加密,解密。

*注:只要是base64,加密、解密机制一样。

转载于:https://my.oschina.net/u/2480675/blog/521288

你可能感兴趣的文章
NULL不是数值
查看>>
css绘制几何图形
查看>>
结合kmp算法的匹配动画浅析其基本思想
查看>>
Android网络编程11之源码解析Retrofit
查看>>
安全预警:全球13.5亿的ARRIS有线调制解调器可被远程攻击
查看>>
麦子学院与阿里云战略合作 在线教育领军者技术实力被认可
查看>>
正确看待大数据
查看>>
Facebook通过10亿单词构建有效的神经网络语言模型
查看>>
发展大数据不能抛弃“小数据”
查看>>
中了WannaCry病毒的电脑几乎都是Win 7
查看>>
学生机房虚拟化(九)系统操作设计思路
查看>>
nginx报错pread() returned only 0 bytes instead of 4091的分析
查看>>
质数因子
查看>>
Spring源码浅析之事务(四)
查看>>
[转载] Live Writer 配置写 CSDN、BlogBus、cnBlogs、163、sina 博客
查看>>
SQL:连表查询
查看>>
MySQL日期函数、时间函数总结(MySQL 5.X)
查看>>
c语言用尾插法新建链表和输出建好的链表
查看>>
高性能 Oracle JDBC 编程
查看>>
java 中ResultSet可以获取的数据类型及返回值类型列表
查看>>