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. VS2017下Git的使用

    一.使用GIT上的项目 (1)找到项目的git地址 (2)打开 vs2017的团队资源管理器面板,直接克隆(复制)远程Github上的项目 (3)追加新项目,到以上工程中. 新建项目时,把项目创建在步 ...

  2. excel 单元格内容太多,替换有问题

    excel 单元格内容太多,替换有问题

  3. Mac 安装zsh

    1.安装zsh mac下自带zsh,但不是最新.查看zsh版本:zsh --version如果没有安装, 可以通过brew安装最新版,brew install zsh 2.安装oh-my-zsh cd ...

  4. WebView入门

    webview是Android展示网页信息的控件,本文就来简要讲解这个控件的用法.关于webview我找到了一些很不错的文章,我就直接贴上连接,自己就不重复造轮子了.本文仅写出我本人目前使用过的东西, ...

  5. Material Designer的低版本兼容实现(十三)—— ProgressBar

    进度条我们都很常见了,新的设计规范中提出了各式各样的进度条,本篇就会介绍大部分进度条的实现.实现方式和规范的示例图可能略有差异,还是那句话根据具体需求进行改变吧. PS:本文较长 参考文档:http: ...

  6. 《Python计算机视觉编程》

    <Python计算机视觉编程> 基本信息 作者: (美)Jan Erik Solem 译者: 朱文涛 袁勇 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:978711535 ...

  7. 再有人问你Java内存模型是什么,就把这篇文章发给他

    前几天,发了一篇文章,介绍了一下JVM内存结构.Java内存模型以及Java对象模型之间的区别.有很多小伙伴反馈希望可以深入的讲解下每个知识点.Java内存模型,是这三个知识点当中最晦涩难懂的一个,而 ...

  8. vanilla

    In information technology, vanilla (pronounced vah-NIHL-uh ) is an adjective meaning plain or basic. ...

  9. AD各种布线方法总结

    1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...

  10. [leetcode]N-Queens @ Python

    原题地址:https://oj.leetcode.com/problems/n-queens/ 题意:经典的N皇后问题. 解题思路:这类型问题统称为递归回溯问题,也可以叫做对决策树的深度优先搜索(df ...