jsencrypt加密java解密

Python08

jsencrypt加密java解密,第1张

很不幸,就以我的知识范围,纯粹的JS无法做到百分百的安全。理由如下:

现在的浏览器端可以直接看到你的JS代码,JS代码都是明文的。尽管你可以压缩,混淆,但是也是加大hack的难度,无法彻底对浏览器不可见。既然你的代码都被看见了,那么Hash,加密都是扯淡了。

对内容加密可以使用HTTPS,这点不假。但是这仅仅能够抵抗抓包工具,但是通过浏览器的开发工具,仍然能够看到你的请求内容,格式。那么就可以按照你的格式伪造请求。我们就可以通过伪造请求修改某社交网站的用户设置。

结论:纯粹JS看起来无法满足你的需求,但是可以使用object标签,自己开发控件进行数据加密,这点事可以的。但是这就超出了JS的范围。并且Object的这个话题太大,我没办法给你展开,你自己研究下吧

数字的话可以使用 Base62 算法,不过这只是表面的转换,因为算法是写在Js里的,稍加分析就能知道怎么去翻转。

如果要有效加密的话,可以使用js调用RSA算法进行加密,这样js中只会暴露公钥,可以实现安全的加密。

网上多得很。

<script language="javascript">

var str

function showUnico(){

if(document.getElementById("before").value.length >0){

str = escape(document.getElementById("before").value)

document.getElementById("after").value = str

}

else alert("请输入要加密的代码")

}

function showHtml(){

if(document.getElementById("after").value.length >0){

str = unescape(document.getElementById("after").value)

document.getElementById("before").value = str

}

else alert("请输入要解密的代码")

}

function clearBoth(){

document.getElementById("before").value = ""

document.getElementById("after").value = ""

}

</script>

<body>

<center>

<table>

<tr>

<th>加密前</th>

<th>加密后</th>

</tr>

<tr>

<td>

<textarea id="before" style="width: 200pxheight: 174px"></textarea>

</td>

<td>

<textarea id="after" style="width: 200pxheight: 174px"></textarea>

</td>

</tr>

</table>

<br>

<input type="button" value="加密" onclick="showUnico()">

<input type="button" value="解密" onclick="showHtml()">

<input type="button" value="全部清空" onclick="clearBoth()">

</center>

</body>