js字符串使用base64编码解码:

var Base64 = {

// private property

_keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

// public method for encoding

encode: function(input) {

var output = "";

var chr1, chr2, chr3, enc1, enc2, enc3, enc4;

var i = 0;

input = Base64._utf8_encode(input);

while (i < input.length) {

chr1 = input.charCodeAt(i++);

chr2 = input.charCodeAt(i++);

chr3 = input.charCodeAt(i++);

enc1 = chr1 >> 2;

enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);

enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);

enc4 = chr3 & 63;

if (isNaN(chr2)) {

enc3 = enc4 = 64;

} else if (isNaN(chr3)) {

enc4 = 64;

}

output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

}

return output;

},

// public method for decoding

decode: function(input) {

var output = "";

var chr1, chr2, chr3;

var enc1, enc2, enc3, enc4;

var i = 0;

input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

while (i < input.length) {

enc1 = this._keyStr.indexOf(input.charAt(i++));

enc2 = this._keyStr.indexOf(input.charAt(i++));

enc3 = this._keyStr.indexOf(input.charAt(i++));

enc4 = this._keyStr.indexOf(input.charAt(i++));

chr1 = (enc1 << 2) | (enc2 >> 4);

chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);

chr3 = ((enc3 & 3) << 6) | enc4;

output = output + String.fromCharCode(chr1);

if (enc3 != 64) {

output = output + String.fromCharCode(chr2);

}

if (enc4 != 64) {

output = output + String.fromCharCode(chr3);

}

}

output = Base64._utf8_decode(output);

return output;

},

// private method for UTF-8 encoding

_utf8_encode: function(string) {

string = string.replace(/\r\n/g, "\n");

var utftext = "";

for (var n = 0; n < string.length; n++) {

var c = string.charCodeAt(n);

if (c < 128) {

utftext += String.fromCharCode(c);

} else if ((c > 127) && (c < 2048)) {

utftext += String.fromCharCode((c >> 6) | 192);

utftext += String.fromCharCode((c & 63) | 128);

} else {

utftext += String.fromCharCode((c >> 12) | 224);

utftext += String.fromCharCode(((c >> 6) & 63) | 128);

utftext += String.fromCharCode((c & 63) | 128);

}

}

return utftext;

},

// private method for UTF-8 decoding

_utf8_decode: function(utftext) {

var string = "";

var i = 0;

var c = c1 = c2 = 0;

while (i < utftext.length) {

c = utftext.charCodeAt(i);

if (c < 128) {

string += String.fromCharCode(c);

i++;

} else if ((c > 191) && (c < 224)) {

c2 = utftext.charCodeAt(i + 1);

string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));

i += 2;

} else {

c2 = utftext.charCodeAt(i + 1);

c3 = utftext.charCodeAt(i + 2);

string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));

i += 3;

}

}

return string;

}

}

【使用方法】:

Base64.encode("www.78oa.com")// 编码

Base64.decode("d3d3Ljc4b2EuY29t") //解码

java

String str="123456";

String encode = new BASE64Encoder().encode(str.getBytes());

System.out.println("编码过后:"+encode);

byte[] bytes = new BASE64Decoder().decodeBuffer(encode);

String decode = new String(bytes, "UTF-8");

System.out.println("解码过后:"+decode);

输出结果:

编码过后:MTIzNDU2

解码过后:123456

java js base64_java与js转base64编码格式相关推荐

  1. java 图片 base64_java实现图片转base64字符串 java实现base64字符串转图片

    java 图片转base64字符串.base64字符串转图片,具体内容如下 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64 ...

  2. java中3des cbc,js與java通用的3DES(ECB,CBC)+Base64加密編碼,解碼解密

    J S端加密過程: key的處理: 通過創建指定的key,key必須是16位/24位/32位其中一種,但是常用的3DES加密的key為24位,下面使用的就是24位,key的長度可以隨意指定,在轉換ke ...

  3. Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)

    中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方 ...

  4. Base64 混淆加密+迭代次数,Base64前后端加解密不一致、Base64 js加解密结果与java加解密结果不一致,Base64中文加密乱码

    Table of Contents 概述 一.js加密,java解密 1.js加密 1.中文字符串加密 2.英文等字符串加密 3.中文字符串混淆.迭代加密 4.英文等字符串混淆.迭代加密 5.JSON ...

  5. js base64编码格式图片另存为下载

    注:从别的博客找的,代码可运行.我已找不到出处了,见谅. <!DOCTYPE html> <html lang="zh-CN"> <head>& ...

  6. Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面...

    Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面 1. 常用算法1 1.1. 目录2 1.2. 定义和用法编辑2 1.3 ...

  7. Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle...

    Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle 1. 主键1 2. uniq  index2 3.  ...

  8. js rsa java解密_RSA使用js加密,使用java解密

    RSA算法使用javascript加密,使用java解密,提供完整代码及例子下载. javascript加密介绍参见另一篇:javascript使用RSA加密提交数据.本篇的例子使用的js是上一篇中提 ...

  9. node.js把前台传来的base64码转成图片存放

    最近项目有个功能,更换用户个人头像,裁剪后上传保存. 裁剪用了cropper.js,裁剪后的图片为base64编码格式,传到node中,进行转换成图片在保存到数据库中,代码如下: var fs = r ...

最新文章

  1. trash-cli设置Linux 回收站
  2. apache 日志切割
  3. c++枚举类型(一)
  4. 14种东西帮你治疗口腔溃疡 - 生活至上,美容至尚!
  5. mysql 列序号,在mysql中使用列号而不是名称进行选择
  6. 深度探索I/O完成端口
  7. php重载父类属性,子类重写父类属性的问题。。。。求解惑
  8. 使用FastReport报表工具生成报表PDF文档
  9. python产生10个不同的随机数组成列表并求平均值_计算多个随机数的平均数Python...
  10. (转)Struts2的标签库
  11. android 连接ble键盘,如何在Android上以编程方式配对和连接HID蓝牙设备(蓝牙键盘)...
  12. LTE 注网流程log分析
  13. jdbc处理银行转账事务
  14. 20210219 plecs为不同的PWM 配置不同的死区时间
  15. FMS视频在线采集系统
  16. ArcEngine IProximityOperator踩坑小记
  17. outlook中打不开超链接
  18. 2021安防视频监控运维市场回顾和展望
  19. [Linux] 读书笔记之:Linux程序设计(第4版)(ch1-7) [ 学如逆水行舟,不进则退 ]...
  20. 旋转编码器消抖程序设计

热门文章

  1. Ubuntu搭建Anki服务器
  2. [POJ1664] 放苹果 (动态规划,组合数学)
  3. Day7 python高级特性-- 切片 Slice
  4. [HDU1712]ACboy needs your help
  5. 【Alpha】十天屠龙记
  6. navicat如何导入sql文件和导出sql文件
  7. 学习IOS 开发需要什么?
  8. 【蓝桥杯】历届试题 分糖果
  9. Oracle 怎么开启,关闭归档
  10. JVM中8种垃圾收集器小结