js中常见的数据加密与解密的方法(js加密解密源代码大全)

2023-03-03 5:32:22 密码用途 思思

加密在我们前端的开发中也是经常遇见的。本文只把我们常用的加密方法进行总结。不去纠结加密的具体实现方式(密码学,太庞大了)。

常见的加密算法基本分为这几类,

RSA加密:RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。(这才是正经的加密算法)

非对称加密算法:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法

DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。

AES这个标准用来替代原先的DES

DES/AES我们合并在一起介绍其用法和特点

Base64是一种用64个字符来表示任意二进制数据的方法。base64是一种编码方式而不是加密算法。只是看上去像是加密而已(吓唬人)。

js代码解密

像这样的混淆代码, 最终都会调用eval来运行加密的代码

观察你给的这一段, 发现\u0065\u0076\u0061\u006c, 刚好就代表了eval函数

把它删去再运行这一段得到

var _token = "jmm8qvq";

後面还有一段很长的, 同理删去eval函数就能得到原始代码

这段JS代码是用什么加密的???谁能帮我解下

是用javascript加密的,用下面这段代码可以解密:

把下面的代码存成html 然后打开

html

head

titletransform between native and ascii/title

/head

script type="text/javascript"!--

var keyStr = "ABCDEFGHIJKLMNOP" +

"QRSTUVWXYZabcdef" +

"ghijklmnopqrstuv" +

"wxyz0123456789+/" +

"=";

function native2ascii(strNative) {

var output = "";

for (var i=0; istrNative.length; i++) {

var c = strNative.charAt(i);

var cc = strNative.charCodeAt(i);

if (cc 0xff)

output += "\\u" + toHex(cc 8) + toHex(cc 0xff);

else

output += c;

}

return output;

}

var hexChars = "0123456789ABCDEF";

function toHex(n) {

var nH = (n 4) 0x0f;

var nL = n 0x0f;

return hexChars.charAt(nH) + hexChars.charAt(nL);

}

function ascii2native(strAscii) {

var output = "";

var posFrom = 0;

var posTo = strAscii.indexOf("\\u", posFrom);

while (posTo = 0) {

output += strAscii.substring(posFrom, posTo);

output += toChar(strAscii.substr(posTo, 6));

posFrom = posTo + 6;

posTo = strAscii.indexOf("\\u", posFrom);

}

output += strAscii.substr(posFrom);

return output;

}

function toChar(str) {

if (str.substr(0, 2) != "\\u") return str;

var code = 0;

for (var i=2; istr.length; i++) {

var cc = str.charCodeAt(i);

if (cc = 0x30 cc = 0x39)

cc = cc - 0x30;

else if (cc = 0x41 cc = 0x5A)

cc = cc - 0x41 + 10;

else if (cc = 0x61 cc = 0x7A)

cc = cc - 0x61 + 10;

code = 4;

code += cc;

}

if (code 0xff) return str;

return String.fromCharCode(code);

}

//--/script

body style="font-family: 宋体"

form name="theForm"

Type in the message here, and click a command button:

br /

textarea name="theText" cols="80" rows="20" wrap="off"/textarea

br /

input type="button" value="native to ascii"

onClick="document.theForm.theText.value=native2ascii(document.theForm.theText.value);"

input type="button" value="ascii to native"

onClick="document.theForm.theText.value=ascii2native(document.theForm.theText.value);"

/form

/body

/html

js加密代码问题,我在网站的一个js文件中看到这种加密代码,这是哪种类型的加密啊!有办法解吗?

加密:escape(要加密的字符串)

解密:unescape(要解密的字符串)

返回的也都是字符串

请大家帮忙:我这有段js代码,上网搜了好像是加密的,请问怎么解密,这段代码又是怎么写出来的,谢谢了:

不是加密,是编码格式的问题,以下两个方法是可以还原,decodeURI(xxx);decodeURIComponent(xxx);不懂可以搜这两个方法的说明,很详细的,