var base64 = new Object();
base64.settings = {
char: "+/",
pad: "=",
ascii: false
};
base64.char_set = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + base64.settings.char;
base64.encode = function (g) {
var a = "";
var b = "";
for (var d = 0; d < g.length; ++d) {
var c = g.charCodeAt(d);
if (this.settings.ascii) {
if (c >= 256) {
throw "Not an 8-bit char."
}
}
var e = c.toString(2);
while (e.length < (this.settings.ascii ? 8 : 16)) {
e = "0" + e
}
b += e;
while (b.length >= 6) {
var f = b.slice(0, 6);
b = b.slice(6);
a += base64.char_set.charAt(parseInt(f, 2))
}
}
if (b) {
while (b.length < 6) {
b += "0"
}
a += base64.char_set.charAt(parseInt(b, 2))
}
if (this.settings.pad) {
while (a.length % (this.settings.ascii ? 4 : 8) != 0) {
a += this.settings.pad
}
}
return a
};
base64.decode = function (j) {
var c = "";
var b = "";
var k = (this.settings.ascii ? 8 : 16);
for (var f = 0; f < j.length; ++f) {
if (j[f] == this.settings.pad) {
break
}
var a = base64.char_set.indexOf(j.charAt(f));
var h = a.toString(2);
while (h.length < 6) {
h = "0" + h
}
b += h;
while (b.length >= k) {
var g = b.slice(0, k);
b = b.slice(k);
c += String.fromCharCode(parseInt(g, 2))
}
}
var d = c.split("");
var e = "";
for (f = 0; f < d.length; f++) {
if (d[f].charCodeAt(0) > 20) {
e += d[f]
}
}
return e
}; var str = base64.encode("杨秀徐");
alert("base64 encode:" + str); str = base64.decode(str);
alert("base64 decode:" + str);

javascript64位加密的更多相关文章

  1. 原创:MD5 32位加密软件

    网站后台数据库切勿使用明文保存密码,否则一旦黑客拿下你的Webshell,后果不堪设想. 网站后台密码加密大多数采用的就是MD5算法加密.今天给大家送一个本人用c#简单编写的MD5 32位加密程序,虽 ...

  2. MD5实现32位加密

    好记性不如烂笔头,随手记记 附代码 public static void Main(string[] args) { Console.WriteLine("长度为" + UseMd ...

  3. MD5 32位、16位加密

    /// <summary> /// MD5 16位加密 /// </summary> /// <param name="ConvertString"& ...

  4. 字符串的MD5的32位加密和16位加密

    import java.security.MessageDigest; import java.util.Locale; public class MD5Util { public static St ...

  5. base64位加密解密

    1.base64位加密base64是用于传输8Bit字节代码,由上图的编码表可以知道,编码后的内容只包含这64个字符类型,所以称为base64编码 2.编码过程 : 首先将待编码的内容转换成8位二进制 ...

  6. iOS关于md5 32位加密

    导入头文件: #import <CommonCrypto/CommonDigest.h> //md5 32位 加密 (小写)- (NSString *)md5:(NSString *)st ...

  7. php AES cbc模式 pkcs7 128位加密解密(微信小程序)

    PHP AES CBC模式PKCS7 128位加密 加密: $key = '1234567812345678'; $iv = '1234567890123456'; $message = '12345 ...

  8. md5 32位 加密原理 Java实现md5加密

    md5 32位 加密原理 简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果. 第一步:处理原文 首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 ...

  9. MD5的32位加密方法

    /// <summary> /// MD532位加密方式 /// </summary> /// <param name="str">用户原始密码 ...

随机推荐

  1. iPhone系统常用文件夹位置

    1. [/Applications]   常用软件的安装目录 2.    [/private /var/ mobile/Media /iphone video Recorder]   iphone v ...

  2. Git:配置

    概念 一般在新的系统上,我们都需要先配置下自己的Git 工作环境.配置工作只需一次,以后升级时还会沿用现在的配置.当然,如果需要,你随时可以用相同的命令修改已有的配置. Git 提供了一个叫做git ...

  3. fastjson转换对象,属性首字母大小写的问题

    请求Json数据的时候,传递过去的String类型转Json数据的时候经常有首字母是大写的情况,例如"LoginAccount":"02:00:00:62:73:74&q ...

  4. 用layer-list实现弧形进度条

    本文转载自:http://www.linuxidc.com/Linux/2013-04/82743.htm 之前我有写过如何用style或者是layer-list实现自定义的横向进度条(http:// ...

  5. Scrollbar中滚动条的设置

      insideOverlay 默认值,表示在padding区域内并且覆盖在view上 insideInset 表示在padding区域内并且插入在view后面 outsideOverlay 表示在p ...

  6. Eclipse启动时提示Fail to create the Java Virtual Machine的解决方法

    这个错误是Eclipse里面的一个bug,我们通过如下的设置就可以解决它. 打开eclipse安装目录下的eclipse.ini文件: 将其中的256m改为128m,512m改为256m,1024m改 ...

  7. window.opener()方法

    <!DOCTYPE html><html><head><meta charset="GBK"><title>菜鸟教程(r ...

  8. [Android Pro] 跨平台反编译工具 jadx (ubuntu亲测 可用)

    github :  https://github.com/skylot/jadx 输入: .dex, .apk, .jar or .class 输出: 资源文件 和  class文件 不支持重新打包, ...

  9. Asp.Net Mvc Action过滤器(二)

    在Mvc中为Action添加过滤器,有两种方式, 一.使用ActionFilterAttribute,简单方式,同时支持Result的过滤处理, 1.可以为空,支持的重写:OnActionExecut ...

  10. Java中线程池,你真的会用吗?

    在<深入源码分析Java线程池的实现原理>这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理. 在文中有这样一段描述: 可以通过Executors静态工厂构建线程池,但一般不建 ...