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. IEnumerable和IQueryable的区别以及背后的ExpressionTree表达式树

    关于IEnumerable和IQueryable的区别,这事还要从泛型委托Func<T>说起.来看一个简单的泛型委托例子: class Program { static void Main ...

  2. CRC8算法DELPHI源码

    unit Crc8; interface Uses Classes, Windows; Function Crc_8n(p : array of BYTE; len : BYTE) : Byte; i ...

  3. C++获取和设置时区

    一.     获取当前系统时区信息 使用API函数GetTimeZoneInformation可以获得当前时区的相关信息,函数原型为 DWORD GetTimeZoneInformation( LPT ...

  4. 使用jQuery实现图片懒加载原理

    原文:https://www.liaoxuefeng.com/article/00151045553343934ba3bb4ed684623b1bf00488231d88d000 在网页中,常常需要用 ...

  5. VisualStudio: Vistual Studio XML 智能提示(转载)

    原文地址:http://blog.csdn.net/hispring/article/details/5332312. 开发中经常遇到要和各种各样的 XML 打交道,编辑 XML 文件时最头痛的便是要 ...

  6. java List转换为字符串并加入分隔符的一些方法总结

    方法一: public String listToString(List list, char separator) { StringBuilder sb = new StringBuilder(); ...

  7. 疑犯追踪第五季/全集Person of Interest迅雷下载

    英文全名Person of Interest,第5季(2015)CBS.本季看点:<疑犯追踪>本季剧组暗示Finch可能重建机器,这次他会给机器更多自由(如Root一直要求的那样).或许新 ...

  8. Android性能优化工具之Systrace

    本文大部分内容来自:http://www.androidperformance.com/android-performance-tools-systrace-1.html?utm_source=tui ...

  9. Ember.js 1.0 RC6 发布,JavaScript 框架

    Ember.js 1.0 发布了第 6 个 RC 版本,下载地址:https://github.com/emberjs/ember.js/tree/v1.0.0-rc.6 该版本包含众多的改进记录,详 ...

  10. Django的事务性

    Django默认是自动提交的 使用TestCase的每个test用例都是事务性的.如果不想这样,可以使用TransactionTestCase 替代 Django自动保证delete()/update ...