8进制

 /*8进制加密*/
function EnEight(){
var monyer = new Array();var i,s;
for(i=0;i<txt.value.length;i++)
monyer+="\\"+txt.value.charCodeAt(i).toString(8);
txt.value=monyer;
}
/*8进制解密*/
function DeEight(){
var monyer = new Array();var i;
var s=txt.value.split("\\");
for(i=1;i<s.length;i++)
monyer+=String.fromCharCode(parseInt(s[i],8));
txt.value=monyer;
}

10进制

 /*10进制加密*/
function Encrypt(){
var monyer = new Array();var i,s;
for(i=0;i<txt.value.length;i++){
s=txt.value.charCodeAt(i).toString(16);
if(Decimal1.checked) monyer+="&#"+txt.value.charCodeAt(i)+";";
else if (Decimal2.checked) monyer+="&#"+new Array(7-String(s).length).join("0")+txt.value.charCodeAt(i);
else monyer+=txt.value.charCodeAt(i)+",";
}txt.value=monyer;
}
/*10进制解密*/
function Decrypt(){
var monyer = new Array();var i;
if(Decimal1.checked){
var s=txt.value.split(";");
for(i=0;i<s.length;i++){
s[i]=s[i].replace('&#','');
monyer+=String.fromCharCode(s[i]);
}
}else if(Decimal2.checked){
var s=txt.value.split("&");
for(i=1;i<s.length;i++){
s[i]=s[i].replace('#','');
monyer+=String.fromCharCode(s[i]);
}
}else{
var s=txt.value.split(",");
for(i=0;i<s.length;i++)
monyer+=String.fromCharCode(s[i]);
}txt.value=monyer;
}

16进制

 /*16进制加密*/
function JavaEn(){
var monyer = new Array();var i,s;
for(i=0;i<txt.value.length;i++){
s=txt.value.charCodeAt(i).toString(16);
if(hex1.checked) monyer+="\\u"+new Array(5-String(s).length).join("0")+s;
else if(hex2.checked) monyer+="&#x"+new Array(5-String(s).length).join("0")+s+";";
else if(hex3.checked) monyer+="\\x"+new Array(5-String(s).length).join("0")+s;
else monyer+="\\"+new Array(5-String(s).length).join("0")+s;
}txt.value=monyer;
}
var p=document.documentElement.outerHTML.length;
/*16进制解密*/
function JavaDe(){
if(hex1.checked){
var monyer = new Array();var i;
var s=txt.value.split("\\");
for(i=1;i<s.length;i++){
s[i]=s[i].replace('u','');
monyer+=String.fromCharCode(parseInt(s[i],16));
}
}else if(hex2.checked){
var monyer = new Array();var i;
var s=txt.value.split(";");
for(i=0;i<s.length;i++){
s[i]=s[i].replace('&#x','');
monyer+=String.fromCharCode(parseInt(s[i],16));
}
}
else if(hex3.checked){
var monyer = new Array();var i;
var s=txt.value.split("\\");
for(i=1;i<s.length;i++){
s[i]=s[i].replace('x','');
monyer+=String.fromCharCode(parseInt(s[i],16));
}
}else{
var monyer = new Array();var i;
var s=txt.value.split("\\");
for(i=1;i<s.length;i++)
monyer+=String.fromCharCode(parseInt(s[i],16));
}txt.value=monyer;
}
/*任意进制加密*/
function EnChTo(h){
var monyer = new Array();var i,s;
for(i=0;i<txt.value.length;i++)
monyer+=txt.value.charCodeAt(i).toString(h)+" ";
txt.value=monyer;
}
/*任意进制解密*/
function DeChTo(h){
var monyer = new Array();var i;
var s=txt.value.split(" ");
for(i=0;i<s.length;i++)
monyer+=String.fromCharCode(parseInt(s[i],h));
txt.value=monyer;
}

URI加密

   function HtmlEncode(i)
{
if (i == 1)
txt.value
= txt.value.replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g,
'&gt;'); if (i == 2)
txt.value
= txt.value.replace(/&amp;/g, '&').replace(/&quot;/g, '\"').replace(/&lt;/g,
'<').replace(/&gt;/g, '>')
} var hex_chr = "0123456789abcdef"; function rhex(num)
{
str = ""; for (j = 0; j <= 3; j++)
str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + hex_chr.charAt((num >> (j * 8)) & 0x0F); return str
}

base64

 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1,
-1, -1); function base64encode(str)
{
var out, i, len;
var c1, c2, c3;
len = str.length;
i = 0;
out = ""; while (i < len)
{
c1 = str.charCodeAt(i++) & 0xff; if (i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
out += "==";
break
} c2 = str.charCodeAt(i++); if (i == len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt((c2 & 0xF) << 2);
out += "=";
break
} c3 = str.charCodeAt(i++);
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
out += base64EncodeChars.charAt(c3 & 0x3F)
} return out
} function base64decode(str)
{
var c1, c2, c3, c4;
var i, len, out;
len = str.length;
i = 0;
out = ""; while (i < len)
{
do
{
c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff]
} while (i < len && c1 == -1); if (c1 == -1)
break; do
{
c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff]
} while (i < len && c2 == -1); if (c2 == -1)
break; out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4)); do
{
c3 = str.charCodeAt(i++) & 0xff; if (c3 == 61)
return out; c3 = base64DecodeChars[c3]
} while (i < len && c3 == -1); if (c3 == -1)
break; out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2)); do
{
c4 = str.charCodeAt(i++) & 0xff; if (c4 == 61)
return out; c4 = base64DecodeChars[c4]
} while (i < len && c4 == -1); if (c4 == -1)
break; out += String.fromCharCode(((c3 & 0x03) << 6) | c4)
} return out
}

utf8<--utf16

 function utf16to8(str)
{
var out, i, len, c;
out = "";
len = str.length; for (i = 0; i < len; i++)
{
c = str.charCodeAt(i); if ((c >= 0x0001) && (c <= 0x007F))
{
out += str.charAt(i)
} else if (c > 0x07FF)
{
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F))
} else
{
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F))
}
} return out
}

utf8-->utf16

      function utf8to16(str)
{
var out, i, len, c;
var char2, char3;
out = "";
len = str.length;
i = 0; while (i < len)
{
c = str.charCodeAt(i++); switch (c >> 4)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
out += str.charAt(i - 1); break; case 12:
case 13:
char2 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
break; case 14:
char2 = str.charCodeAt(i++); char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6)
| ((char3 & 0x3F) << 0));
break
}
} return out
}

md5

 function str2blks_MD5(str)
{
nblk = ((str.length + 8) >> 6) + 1;
blks = new Array(nblk * 16); for (i = 0; i < nblk * 16; i++)
blks[i] = 0; for (i = 0; i < str.length; i++)
blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8); blks[i >> 2] |= 0x80 << ((i % 4) * 8);
blks[nblk * 16 - 2] = str.length * 8;
return blks
} function add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF)
} function rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt))
} function cmn(q, a, b, x, s, t)
{
return add(rol(add(add(a, q), add(x, t)), s), b)
} function ff(a, b, c, d, x, s, t)
{
return cmn((b & c) | ((~b) & d), a, b, x, s, t)
} function gg(a, b, c, d, x, s, t)
{
return cmn((b & d) | (c & (~d)), a, b, x, s, t)
} function hh(a, b, c, d, x, s, t)
{
return cmn(b ^ c ^ d, a, b, x, s, t)
} function ii(a, b, c, d, x, s, t)
{
return cmn(c ^ (b | (~d)), a, b, x, s, t)
} function calcMD5(str)
{
x = str2blks_MD5(str);
a = 1732584193;
b = -271733879;
c = -1732584194;
d = 271733878; for (i = 0; i < x.length; i += 16)
{
olda = a;
oldb = b;
oldc = c;
oldd = d;
a = ff(a, b, c, d, x[i + 0], 7, -680876936);
d = ff(d, a, b, c, x[i + 1], 12, -389564586);
c = ff(c, d, a, b, x[i + 2], 17, 606105819);
b = ff(b, c, d, a, x[i + 3], 22, -1044525330);
a = ff(a, b, c, d, x[i + 4], 7, -176418897);
d = ff(d, a, b, c, x[i + 5], 12, 1200080426);
c = ff(c, d, a, b, x[i + 6], 17, -1473231341);
b = ff(b, c, d, a, x[i + 7], 22, -45705983);
a = ff(a, b, c, d, x[i + 8], 7, 1770035416);
d = ff(d, a, b, c, x[i + 9], 12, -1958414417);
c = ff(c, d, a, b, x[i + 10], 17, -42063);
b = ff(b, c, d, a, x[i + 11], 22, -1990404162);
a = ff(a, b, c, d, x[i + 12], 7, 1804603682);
d = ff(d, a, b, c, x[i + 13], 12, -40341101);
c = ff(c, d, a, b, x[i + 14], 17, -1502002290);
b = ff(b, c, d, a, x[i + 15], 22, 1236535329);
a = gg(a, b, c, d, x[i + 1], 5, -165796510);
d = gg(d, a, b, c, x[i + 6], 9, -1069501632);
c = gg(c, d, a, b, x[i + 11], 14, 643717713);
b = gg(b, c, d, a, x[i + 0], 20, -373897302);
a = gg(a, b, c, d, x[i + 5], 5, -701558691);
d = gg(d, a, b, c, x[i + 10], 9, 38016083);
c = gg(c, d, a, b, x[i + 15], 14, -660478335);
b = gg(b, c, d, a, x[i + 4], 20, -405537848);
a = gg(a, b, c, d, x[i + 9], 5, 568446438);
d = gg(d, a, b, c, x[i + 14], 9, -1019803690);
c = gg(c, d, a, b, x[i + 3], 14, -187363961);
b = gg(b, c, d, a, x[i + 8], 20, 1163531501);
a = gg(a, b, c, d, x[i + 13], 5, -1444681467);
d = gg(d, a, b, c, x[i + 2], 9, -51403784);
c = gg(c, d, a, b, x[i + 7], 14, 1735328473);
b = gg(b, c, d, a, x[i + 12], 20, -1926607734);
a = hh(a, b, c, d, x[i + 5], 4, -378558);
d = hh(d, a, b, c, x[i + 8], 11, -2022574463);
c = hh(c, d, a, b, x[i + 11], 16, 1839030562);
b = hh(b, c, d, a, x[i + 14], 23, -35309556);
a = hh(a, b, c, d, x[i + 1], 4, -1530992060);
d = hh(d, a, b, c, x[i + 4], 11, 1272893353);
c = hh(c, d, a, b, x[i + 7], 16, -155497632);
b = hh(b, c, d, a, x[i + 10], 23, -1094730640);
a = hh(a, b, c, d, x[i + 13], 4, 681279174);
d = hh(d, a, b, c, x[i + 0], 11, -358537222);
c = hh(c, d, a, b, x[i + 3], 16, -722521979);
b = hh(b, c, d, a, x[i + 6], 23, 76029189);
a = hh(a, b, c, d, x[i + 9], 4, -640364487);
d = hh(d, a, b, c, x[i + 12], 11, -421815835); c = hh(c, d, a, b, x[i + 15], 16, 530742520);
b = hh(b, c, d, a, x[i + 2], 23, -995338651);
a = ii(a, b, c, d, x[i + 0], 6, -198630844);
d = ii(d, a, b, c, x[i + 7], 10, 1126891415);
c = ii(c, d, a, b, x[i + 14], 15, -1416354905);
b = ii(b, c, d, a, x[i + 5], 21, -57434055);
a = ii(a, b, c, d, x[i + 12], 6, 1700485571);
d = ii(d, a, b, c, x[i + 3], 10, -1894986606);
c = ii(c, d, a, b, x[i + 10], 15, -1051523);
b = ii(b, c, d, a, x[i + 1], 21, -2054922799);
a = ii(a, b, c, d, x[i + 8], 6, 1873313359);
d = ii(d, a, b, c, x[i + 15], 10, -30611744);
c = ii(c, d, a, b, x[i + 6], 15, -1560198380);
b = ii(b, c, d, a, x[i + 13], 21, 1309151649);
a = ii(a, b, c, d, x[i + 4], 6, -145523070);
d = ii(d, a, b, c, x[i + 11], 10, -1120210379);
c = ii(c, d, a, b, x[i + 2], 15, 718787259);
b = ii(b, c, d, a, x[i + 9], 21, -343485551);
a = add(a, olda);
b = add(b, oldb);
c = add(c, oldc);
d = add(d, oldd)
} return rhex(a) + rhex(b) + rhex(c) + rhex(d)
}

javascript 字符串加密的几种方法的更多相关文章

  1. JavaScript确定一个字符串是否包含在另一个字符串中的四种方法

    一.indexOf() 1.定义 indexOf()方法返回String对象第一次出现指定字符串的索引,若未找到指定值,返回-1.(数组同一个概念) 2.语法 str.indexOf(searchVa ...

  2. Js 字符串拼接的两种方法

    字符串拼接的两种方法 用数组的方法的好处是:避免变量重新定义.赋值 <!DOCTYPE html> <html lang="en"> <head> ...

  3. javascript 字符串进行 utf8 编码的方法(转)

    实践中碰到了一个大问题,在 javascript 中,可能有一些中文字符串,我们想将其进行二进制流编码的时候,需要将其转换为 utf8 的编码. 也就是说,输入的是一个字符串:'呆滞的慢板今天挣了10 ...

  4. JavaScript数据类型判断的四种方法

    码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14416375.html 本文分享了JavaScript类型判断的四种方法:typeo ...

  5. Javascript刷新页面的几种方法

    Javascript刷新页面的几种方法: window.navigate(location)location.reload()location=locationlocation.assign(loca ...

  6. Javascript刷新页面的八种方法

    /** * Javascript刷新页面的八种方法 * 说明一下,jQuery没有发现刷新页面的方法. */ 1 history.go(0) 2 location.reload() 3 locatio ...

  7. [转]Javascript定义类的三种方法

    作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 将近2 ...

  8. Python字符串连接的5种方法

    总结了一下Python字符串连接的5种方法: 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用 "+" 来连接两个字符串: ...

  9. Javascript刷新页面的几种方法:

    Javascript刷新页面的几种方法: 1    history.go(0) 2    window.location.reload() window.location.reload(true)  ...

随机推荐

  1. pageEncoding与contentType属性

    1图例分析 由图中可以看出,这个两个属性没有任何关系. 把这两个设置成不同的编码格式对中文显示不会产生任何影响 2.原因分析 pageEncoding规定了以什么编码方式存储和读取,使两者保持一致性, ...

  2. Position、Float

    http://www.cnblogs.com/coffeedeveloper/p/3145790.html

  3. grub.conf文件参数详解

    Grub是Linux的下系统启动器之一(另一个名为Lilo),grub.conf相当于 windows下的boot.ini,都是存放启动项设置和信息的,如果你熟悉boot.ini的设置的话相信也可以很 ...

  4. 通过Gearman实现MySQL到Redis的数据同步

    对于变化频率非常快的数据来说,如果还选择传统的静态缓存方式(Memocached.File System等)展示数据,可能在缓存的存取上会有很大的开销,并不能很好的满足需要,而Redis这样基于内存的 ...

  5. directly receive json data from javascript in mvc

    if you send json data to mvc,how can you receive them and parse them more simply? you can do it like ...

  6. iOS开发小技巧--定时器的使用技巧

    一.定时器的使用技巧 -- 定义好了定时器后,添加两个方法,一个是添加定时器的方法,另一个是移除定时器的方法. 使用的时候也要注意,一定先移除之前的timer,然后再添加timer

  7. git 查看生成对象

    1. find .   查看目录中所有对象 2. find .git/objects 查看所有对象 3. git cat-file -p 散列值  输出文件内容

  8. Asp.Net MVC<一> : 三层架构、MVC

    MVC.MVP.MVVM.Angular.js.Knockout.js.Backbone.js.React.js.Ember.js.Avalon.js.Vue.js 概念摘录 认清Android框架 ...

  9. 微信扫码支付 php

    仔细看了一遍官方的那幅流程图,我来简化理解一下(注意:我这里针对的是扫码支付模式一,模式二没什么说的)网站后台生成二维码,当然是跟据前台传来的参数有条件的生成买家扫描二维码,扫描过程中,微信后台系统回 ...

  10. java-io-inputStream

    inputStream的方法 1. 关于InputStream.read()     在从数据流里读取数据时,为图简单,经常用InputStream.read()方法.这个方法是从流里每次只读取读取一 ...