前端使用 jquery.base64.js 进行加密、解密十分方便

引入 jquery.base64.js

<script src="js/jquery.base64.js" type="text/javascript"></script>

使用时还需注意,先引入 jquery

<script src="js/jquery-3.2.1.min.js" type="text/javascript"></script>

用法如下

//对 123321 进行加密
var str = $.base64.encode('123321');
alert(str);//对 str 进行解密
var dstr = $.base64.decode(str);
alert(dstr)

jquery.base64.js 源码如下

/*!* jquery.base64.js 0.1 - https://github.com/yckart/jquery.base64.js* Makes Base64 en & -decoding simpler as it is.** Based upon: https://gist.github.com/Yaffle/1284012** Copyright (c) 2012 Yannick Albert (http://yckart.com)* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php).* 2013/02/10**/
;(function($) {var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a256 = '',r64 = [256],r256 = [256],i = 0;var UTF8 = {/*** Encode multi-byte Unicode string into utf-8 multiple single-byte characters* (BMP / basic multilingual plane only)** Chars in range U+0080 - U+07FF are encoded in 2 chars, U+0800 - U+FFFF in 3 chars** @param {String} strUni Unicode string to be encoded as UTF-8* @returns {String} encoded string*/encode: function(strUni) {// use regular expressions & String.replace callback function for better efficiency// than procedural approachesvar strUtf = strUni.replace(/[\u0080-\u07ff]/g, // U+0080 - U+07FF => 2 bytes 110yyyyy, 10zzzzzzfunction(c) {var cc = c.charCodeAt(0);return String.fromCharCode(0xc0 | cc >> 6, 0x80 | cc & 0x3f);}).replace(/[\u0800-\uffff]/g, // U+0800 - U+FFFF => 3 bytes 1110xxxx, 10yyyyyy, 10zzzzzzfunction(c) {var cc = c.charCodeAt(0);return String.fromCharCode(0xe0 | cc >> 12, 0x80 | cc >> 6 & 0x3F, 0x80 | cc & 0x3f);});return strUtf;},/*** Decode utf-8 encoded string back into multi-byte Unicode characters** @param {String} strUtf UTF-8 string to be decoded back to Unicode* @returns {String} decoded string*/decode: function(strUtf) {// note: decode 3-byte chars first as decoded 2-byte strings could appear to be 3-byte char!var strUni = strUtf.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, // 3-byte charsfunction(c) { // (note parentheses for precence)var cc = ((c.charCodeAt(0) & 0x0f) << 12) | ((c.charCodeAt(1) & 0x3f) << 6) | (c.charCodeAt(2) & 0x3f);return String.fromCharCode(cc);}).replace(/[\u00c0-\u00df][\u0080-\u00bf]/g, // 2-byte charsfunction(c) { // (note parentheses for precence)var cc = (c.charCodeAt(0) & 0x1f) << 6 | c.charCodeAt(1) & 0x3f;return String.fromCharCode(cc);});return strUni;}};while(i < 256) {var c = String.fromCharCode(i);a256 += c;r256[i] = i;r64[i] = b64.indexOf(c);++i;}function code(s, discard, alpha, beta, w1, w2) {s = String(s);var buffer = 0,i = 0,length = s.length,result = '',bitsInBuffer = 0;while(i < length) {var c = s.charCodeAt(i);c = c < 256 ? alpha[c] : -1;buffer = (buffer << w1) + c;bitsInBuffer += w1;while(bitsInBuffer >= w2) {bitsInBuffer -= w2;var tmp = buffer >> bitsInBuffer;result += beta.charAt(tmp);buffer ^= tmp << bitsInBuffer;}++i;}if(!discard && bitsInBuffer > 0) result += beta.charAt(buffer << (w2 - bitsInBuffer));return result;}var Plugin = $.base64 = function(dir, input, encode) {return input ? Plugin[dir](input, encode) : dir ? null : this;};Plugin.btoa = Plugin.encode = function(plain, utf8encode) {plain = Plugin.raw === false || Plugin.utf8encode || utf8encode ? UTF8.encode(plain) : plain;plain = code(plain, false, r256, b64, 8, 6);return plain + '===='.slice((plain.length % 4) || 4);};Plugin.atob = Plugin.decode = function(coded, utf8decode) {coded = String(coded).split('=');var i = coded.length;do {--i;coded[i] = code(coded[i], true, r64, a256, 6, 8);} while (i > 0);coded = coded.join('');return Plugin.raw === false || Plugin.utf8decode || utf8decode ? UTF8.decode(coded) : coded;};
}(jQuery));

注意:默认的 jquery.base64.js 不支持中文加解密,如需要对中文进行加解密,请参考 jquery.base64.js 支持中文改造

jquery.base64.js 使用相关推荐

  1. jquery base64加密

    ----解密 $.base64.decode("字符串数据")----加密 $.base64.encode("字符串数据") 支持文件:jquery.base6 ...

  2. js+php在线截图 jquery fileupload.js,另一种图片上传 jquery.fileupload.js

    今天遇到另外一种上传图片方法 用jquery.fileupload.js 一个文件类型的元素 $("#fileupload").fileupload({ datatype:&quo ...

  3. H5案例分享:jquery.qrcode.js生成简易二维码

    近期做项目需要生成二维码,并且解码获取信息,jquery.qrcode.js生成二维码比较的方便,写个教程分享给大家.欢迎大家测试留言,我会改进代码. 现在二维码越来越流行啦,支付扫二维码,关注扫二维 ...

  4. 图片裁剪上传插件—jquery.photoClip.js

    分别介绍了两种插件 1.cropper.js 具体详情:https://segmentfault.com/a/1190000012344970 (1)在页面直接使用cropper 接下来只是实现一个简 ...

  5. 报表生成(POI,jquery.table2excel.js,Echarts)

    最近公司要弄个报表相关的功能,话不多说,先上图 前一种是POI 生成的,后一种是Echarts生成的.报表我想大家都不陌生,基本上在公司业务中都会使用到.先说说POI,jquery.table2exc ...

  6. 小文聊天机器人(jquery.chatbot.js)使用指南

    @小文聊天机器人由我爱作文网开发,引入在线聊天机器人起初是为了更好的方便访问者以自然语言的方式搜索我爱作文网的站内文章. @小文聊天机器人接入网站非常的简单,只需引入jquery.chatbot.js ...

  7. 利用Jquery Lazyload JS插件实现网页图片延迟加载

    Jquery Lazyload是一款网页图片延迟加载JS插件,本文介绍该JS的使用方法. 最新的jquery lazyload可以单独使用(即不依赖jquery),本文介绍的是依赖jquery的使用及 ...

  8. 使用jquery.more.js来实现点击底部更多后, 底部加载出新的数据

    <div class="bus-nav-bar ft12"><div class="navt bor-r-c pos-rel {if $int == 0 ...

  9. jquery即时搜索查询插件jquery.search.js

    jquery.search.js搜索插件是一款基于jquery的插件,任何一个input输入款均可即时转为查询框,可分为前台数据直接显示和后台传输数据显示两种方案!  文档说明:http://www. ...

最新文章

  1. 职场观察:高薪需要什么?
  2. CrazyWing:Python自动化运维开发实战 六、流程控制
  3. JavaScript对HTML文件进行数据访问
  4. 安装Scrapy时:Microsoft Visual C++ 9.0 is required
  5. Martix工作室考核题 —— 2019-3-8 第一题
  6. httpModules 与 httpHandlers
  7. matlab动力学仿真_机械系统动力学MATLAB仿真(上)
  8. APP架构师必看:面对爆发流量如何进行架构调整
  9. 计算机重启后打印机无法连接不上,笔记本之前连上了打印机,重启路由后就连不上了,什么原因...
  10. 解决关键词这个问题,ASO优化效果事半功倍
  11. php实时股票,PHP实现股票趋势图和柱形图
  12. vue加载vue-amap 报错解决办法
  13. Phalcon PHP 中文,Phalcon 入门
  14. bookxnote,类MarginNote的pc笔记软件,可与anki联合使用
  15. 纪中游记 - Day 1
  16. 三峡大学计算机与信息工程学院,三峡大学计算机与信息学院.doc
  17. 【基础】秦九昭算法实现的多项式快速计算
  18. 服务器芯片改南北桥,Intel E7500双通道DDR服务器芯片组技术剖析
  19. VMware公司希望通过合作关系进一步提升业务态势
  20. logback实现日志脱敏

热门文章

  1. 文档资源推荐 研究生如何做文献阅读笔记(强力推荐!!!)
  2. c语言 试题 中荷,2017年东北大学中荷生物医学与信息工程学院842计算机专业基础考研强化模拟题...
  3. WeX5界面模块化的使用—JS引用
  4. 唤醒手腕Python全栈工程师学习笔记(网络爬虫篇)
  5. 安卓日记 二 UI组件
  6. 基于交通事故数据分析的驾考优化对策研究
  7. html页面自动关闭代码,Javascript 实现倒计时(10秒)自动关闭网页
  8. 一、DMSP/OLS、NPP/VIIRS等夜间灯光数据之GDP空间化的理论介绍
  9. Python绘制三角函数图(sin\cos\tan)并标注特定范围
  10. Scrapy全国历史天气数据爬取