base64 加密 解密操作 前端js

作者: 一只大橘 | 来源:发表于2017-05-26 17:43 被阅读198次

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。三个字节有24个比特,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9 ,这样共有62个字符,此外两个可打印符号在不同的系统中而不同(本类库里面用的是`+`,`/`这两个字符)。一些如uuencode的其他编码方法,和之后binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。

Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。包括MIME的email,email via MIME, 在XML中存储复杂数据.

base64解密操作

var  base= newBase64();

this.checkpiccode=base.decode('value');

base64加密操作

this._utf8_encode=base._utf8_encode('value');

functionBase64() {

var_keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

this.decode= function(input) {

varoutput="";

varchr1,chr2,chr3;

varenc1,enc2,enc3,enc4;

vari=0;

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

while(i

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

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

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

enc4=_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= this._utf8_decode(output);

returnoutput;

}

//加密方法

this._utf8_encode = function (string) {string=string.replace(/\r\n/g,"\n");varutftext ="";for(varn =0; n

utftext+=String.fromCharCode(c);

}elseif((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);

}

}returnutftext;

}

this._utf8_decode= function(utftext) {

varstring="";

vari=0;

varc=0

varc1=0;

varc2=0;

while(i

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;

}

}

returnstring;

}

}

欢迎转载,不是本人原创,也是网上分享找到的资料 

相关文章

  • base64 加密 解密操作 前端js

    Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元...

  • RSA加密解密-公钥解密

    技术:jsencrypt.js这个前端库有一个特点:公钥加密、私钥解密,没有公钥解密(只能前端公钥加密后台私钥解密...

  • AES Base64 sha1加密

    vue base64加密解密 安装 npm install --save js-base64 引入 import ...

  • 2022-03-09

    加密 解密流程操作语言如何处理请求中某个请求 返回 加密解密操作 vue 执行js 操作 和 vue 操作 哪...

  • 加密

    AES 加密 密钥生成 数据填充至16的倍数 AES 加密 BASE64 加密 解密 BASE64 解密 AES ...

  • crypto-js实现加密解密

    1、DES加密 2、DES解密 3、AES加密 4、AES解密 5、注意:js的前端加密不能与java加密代码写的...

  • 加密

    来源于:MD5加密,Base64加密/解密,AES加密/解密

  • 最近用到的一些String的一些常用方法

    string的Base64加密/解密 oc 加密 oc解密 swift 加密 swift 解密 oc字典转jso...

  • js加密解密

    前端加密解密用的比较多的一个库crypto-js,像AES,SHA256,base64,md5都比较好用。 1、b...

  • Base64加密解密

    /// /// 实现Base64加密解密/// public sealed class Base64{/// ...

网友评论

    本文标题:base64 加密 解密操作 前端js

    本文链接:https://www.haomeiwen.com/subject/yhpxfxtx.html