CryptoJS加密(⽹络安全)
CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。
des对称加密
在对称加密算法中,数据发信⽅将明⽂和加密密钥⼀起经过特殊加密算法处理后,使其变成复杂的加密密⽂发送出去。收信⽅收到密⽂后,若想解读原⽂,则需要使⽤加密⽤过的密钥及相同算法的逆算法对密⽂进⾏解密,才能使其恢复成可读明⽂。
<script src="core.js" ></script>
<script src="enc-base64.js" ></script>
<script src="cipher-core.js" ></script>
<script src="tripledes.js" ></script>
<script src="mode-ecb.js" ></script>
<script>
//加密
function encryptByDES(message, key) {
var keyHex = Utf8.parse(key);
var encrypted = pt(message, keyHex, {
mode: de.ECB,
padding: CryptoJS.pad.Pkcs7
});
String();
}
//解密
function decryptByDES(ciphertext, key) {
js代码加密软件
var keyHex = Utf8.parse(key);
var decrypted = CryptoJS.DES.decrypt({
ciphertext: Base64.parse(ciphertext)
}, keyHex, {
mode: de.ECB,
padding: CryptoJS.pad.Pkcs7
});
Utf8);
}
</script>
抓包
  抓包就是将⽹络传输发送与接收的数据包进⾏截获、重发、编辑、转存等操作,也⽤来检查⽹络安全。抓包也经常被⽤来进⾏数据截取等。使⽤抓包⼯具,可以监视⽹络的状态、数据流动情况以及⽹络上传输的信息。当信息以明⽂的形式在⽹络上传输时,便可以使⽤⽹络监听的⽅式来进⾏攻击。将⽹络接⼝设置在监听模式,便可以将⽹上传输的源源不断的信息截获。⿊客们常常⽤它来截获⽤户的⼝令。
https
  超⽂本传输协议HTTP协议被⽤于在Web浏览器和⽹站服务器之间传递信息。HTTP协议以明⽂⽅式发送内容,不提供任何⽅式的数据加密,如果攻击者截取了Web浏览器和⽹站服务器之间的传输报⽂,就可以直接读懂其中的信息,因此HTTP协议不适合传输⼀些敏感信息,⽐如信⽤卡号、密码等。
  为了解决HTTP协议的这⼀缺陷,需要使⽤另⼀种协议:安全套接字层超⽂本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加⼊了SSL协议,SSL 依靠证书来验证服务器的⾝份,并为浏览器和服务器之间的通信加密。
  在 HTTP 协议下,数据是明⽂传输,传输过程中⽹络嗅探可直接获取其中的数据。如⽤户的密码和信⽤卡相关的资料,⼀旦被中间⼈获取,会给⽤户带来极⼤的安全隐患。另⼀⽅⾯在⾮加密的传输过程中,攻击者可更改数据或执⾏恶意的代码等。HTTPS 的诞⽣就是为了解决中间⼈攻击的问题。
  加密速度减慢⼀定程度会降低⽤户体验,这也是⼀部分站点未启⽤ https 的原因之⼀。但是因为我们的前端加密只会⽤在不常使⽤的登录和注册上,所以不会影响⽹站整体的体验。
对称加密和⾮对称加密
  对称加密算法在加密和解密时使⽤的是同⼀个秘钥;⽽⾮对称加密算法需要两个密钥来进⾏加密和解密,这两个秘钥是公开密钥和私有密钥。公开密钥与私有密钥是⼀对,如果⽤公开密钥对数据进⾏加密,只有⽤对应的私有密钥才能解密;如果⽤私有密钥对数据进⾏加密,那么只有⽤对应的公开密钥才能解密。
(1)优缺点
⾮对称加密与对称加密相⽐,其安全性更好:对称加密的通信双⽅使⽤相同的秘钥,如果⼀⽅的秘钥遭泄露,那么整个通信就会被破解;对称加密的优点是加/解密速度快,适合于对⼤数据量进⾏加密,⾮对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进⾏加密。
在实际的应⽤中,⼈们通常将⾮对称加密与对称加密两者结合在⼀起使⽤,例如,对称密钥加密系统⽤于存储⼤量数据信息,⽽公开密钥加密系统则⽤于加密密钥。
(2)⾮对称加密⼯作过程
1、⼄⽅⽣成⼀对密钥(公钥和私钥)并将公钥向其它⽅公开。
2、得到该公钥的甲⽅使⽤该密钥对机密信息进⾏加密后再发送给⼄⽅。
3、⼄⽅再⽤⾃⼰保存的另⼀把专⽤密钥(私钥)对加密后的信息进⾏解密。⼄⽅只能⽤其专⽤密钥(私钥)解密由对应的公钥加密后的信息。
在传输过程中,即使攻击者截获了传输的密⽂,并得到了⼄的公钥,也⽆法破解密⽂,因为只有⼄的私钥才能解密密⽂。
同样,如果⼄要回复加密信息给甲,那么需要甲先公布甲的公钥给⼄⽤于加密,甲⾃⼰保存甲的私钥⽤于解密。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。