常用的js解密(js des解密)

2023-02-28 6:08:42 密语知识 思思

js中常见的数据加密与解密的方法

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

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

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解密方法

1. eval改为变量= (如上代码(代码不完整), eval(function(p,a,c,k,e,r){.... 改为 abcd=(function(p,a,c,k,e,r){...)

2. 末尾添加用FSO输出变量(如:输出上面的abcd)的代码

3. 保存

4. 执行JS即可。

前端js几种加密/解密方法

方法汇总:

项目中用了crypto-js DES加密解密 前端用下面方法加密 后台用java的des解密

crypto-js AES需要前端来处理加密解密

JS 使用 SHA1 加密示例

js解密,请高手帮忙。

第一步:解掉\u加密的东西

第二步:把@替换为\x

第三步:不断解密\x

script language="javascript" type="text/javascript"

var keyStr = "ABCDEFGHIJKLMNOP" +

"QRSTUVWXYZabcdef" +

"ghijklmnopqrstuv" +

"wxyz0123456789+/" +

"=";

eval("document.write("IFRAME SRC='?"+url+"' width=0 height=0 frameborder=no border=1 MARGINWIDTH=0 MARGINHEIGHT=0 SCROLLING=no/IFRAME");"+"if(url!=""){parent.cfshow.location.href="cfshow.asp?"+url;parent.cfsend.location.href="cfsend.asp";"+"}else{alert(unescape("鵞

Nw?�z廭鉔x珗4xOW�鲖N}廹癳Hr,g塠艌�"));parent.location.href="";}");

/script

JS代码解密

解密后eval那段的原文如下(是一个解密函数):

function uncodeStr(str){

str=str.replace(/\^/g,"%");//把原来字符串里的~符号替换成%号

var str_len=str.length-1;//后面数组循环时的最大下标

var i;

var encodeStr='';

for(i=str_len;i=0;i--){//这个循环是将密文倒转过来

encodeStr+=str.substr(i,1)

}

return decodeURI(encodeStr) //使用decodeURI解密

}

var aaa___ 就是获取的uncodeStr函数运算后的结果。

通过解密过程可以反推出加密过程如下:

获取需要字符串s

使用encodeURI(s)将一些特定符号替换为编码,如空格替换为%20,得到一个新的字符串

将新的字符串反转(第一位变为最后一位,第二位变为倒数第二位。。。。以此类推)

将反转后的字符串里的百分号(%)用波浪线替换后就得到密文了。

常用的js解密(js des解密) 第1张