这篇文章主要介绍“web前端常见的加密算法有哪些”,在日常操作中,相信很多人在web前端常见的加密算法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web前端常见的加密算法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在信息安全越来越受重视的今天,前端的各种加密也变得更加重要。通常跟服务器的交互中,为保障数据传输的安全性,避免被人抓包篡改数据,除了https的应用,还需要对传输数据进行加解密。
目前常见的加密算法可以分成三类
对称加密算法:AES、…
非对称加密算法:RSA、…
Hash算法:MD5、…
对称加密算法
对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。
特点
优点:算法公开、计算量小、加密速度快、加密效率高。
缺点:在数据传送前,发送方和接收方必须商定好密钥,然后双方保存好密钥。如果一方的密钥被泄露,那么加密信息也就不安全了
使用场景:本地数据加密、https通信、网络传输等
AES
AES:高级加密标准(AdvancedEncryptionStandard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。
密钥:用来加密明文的密码。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取数据。
在项目中需要用到AES加密时,可以使用开源的js库:crypto-js
varCryptojs=require('crypto-js');
vardata={id:1,text:'HelloWorld'};
//加密生成密文
varciphertext=Cryptojs.AES.encrypt(jsON.stringify(data),'secret_key_123').toString();
//解密得到明文
varbytes=Cryptojs.AES.decrypt(ciphertext,'secret_key_123');
vardecryptedData=jsON.parse(bytes.toString(Cryptojs.enc.Utf8));
到此,关于“web前端常见的加密算法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/208875.html