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 = CryptoJS.enc.Utf8.parse(key);
    var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
  }
  //解密
  function decryptByDES(ciphertext, key) {
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var decrypted = CryptoJS.DES.decrypt({
          ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
        }, keyHex, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return decrypted.toString(CryptoJS.enc.Utf8);
  }
</script>

抓包安全

  抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操做,也用来检查网络安全。抓包也常常被用来进行数据截取等。使用抓包工具,能够监视网络的状态、数据流动状况以及网络上传输的信息。当信息以明文的形式在网络上传输时,即可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,即可以将网上传输的源源不断的信息截获。黑客们经常用它来截获用户的口令。服务器

https网络

  超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,若是攻击者截取了Web浏览器和网站服务器之间的传输报文,就能够直接读懂其中的信息,所以HTTP协议不适合传输一些敏感信息,好比信用卡号、密码等
  为了解决HTTP协议的这一缺陷,须要使用另外一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通讯加密
  在 HTTP 协议下,数据是明文传输,传输过程当中网络嗅探可直接获取其中的数据。 如用户的密码和信用卡相关的资料,一旦被中间人获取,会给用户带来极大的安全隐患。另外一方面在非加密的传输过程当中,攻击者可更改数据或执行恶意的代码等。HTTPS 的诞生就是为了解决中间人攻击的问题。
  加密速度减慢必定程度会下降用户体验,这也是一部分站点未启用 https 的缘由之一。可是由于咱们的前端加密只会用在不常使用的登陆和注册上,因此不会影响网站总体的体验。
 
对称加密和非对称加密
  对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法须要两个密钥来进行加密和解密,这两个秘钥是公开密钥和私有密钥。公开密钥与私有密钥是一对,若是用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;若是用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
(1)优缺点
非对称加密与对称加密相比,其安全性更好:对称加密的通讯双方使用相同的秘钥,若是一方的秘钥遭泄露,那么整个通讯就会被破解;对称加密的优势是加/解密速度快,适合于对大数据量进行加密,非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少许数据进行加密。
在实际的应用中,人们一般将非对称加密与对称加密二者结合在一块儿使用,例如,对称密钥加密系统用于存储大量数据信息,而公开密钥加密系统则用于加密密钥。
(2)非对称加密工做过程
一、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
二、获得该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。
三、乙方再用本身保存的另外一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
在传输过程当中,即便攻击者截获了传输的密文,并获得了乙的公钥,也没法破解密文,由于只有乙的私钥才能解密密文。
一样,若是乙要回复加密信息给甲,那么须要甲先公布甲的公钥给乙用于加密,甲本身保存甲的私钥用于解密。
相关文章
相关标签/搜索