首页 > 其他分享 >CryptoJS加密(网络安全)

CryptoJS加密(网络安全)

时间:2024-11-20 19:17:08浏览次数:3  
标签:网络安全 加密 解密 传输 密钥 HTTP 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)非对称加密工作过程

1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。

2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。

3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。

在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。

同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。

标签:网络安全,加密,解密,传输,密钥,HTTP,CryptoJS
From: https://blog.csdn.net/Hacker_Fuchen/article/details/143866714

相关文章

  • 网络安全(超级详细)零基础带你一步一步走进缓冲区溢出漏洞和shellcode编写!
    零基础带你走进缓冲区溢出,编写shellcode。写在前面的话:本人是以一个零基础者角度来带着大家去理解缓冲区溢出漏洞,当然如果你是开发者更好。#注:如果有转载请注明出处!创作不易、谢谢合作。#0、环境搭建:#本次实验所用到的工具有:x32dbg:一个基于qt开发的、开源调试器。ghid......
  • web网络安全系统
    最近了解了基于web的网络安全系统的设计与实现项目,在这个平台记录一下这个基于web的网络安全系统的设计与实现项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于web的网络安全系统的设计与实现项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强......
  • 计算机网络安全复习
    1、网络安全目标:(可用性,完整性,机密性)安全三要素,可靠性,不可抵赖性,可控性可用性:网络信息可被授权实体访问并按需求使用的特性。(网络环境下拒绝服务、破坏网络和有关系统的正常运行)可靠性:网络信息系统能够在规定条件下和规定时间内,实现规定功能的特性。机密性:网络信息不被泄露给......
  • 【网络安全】1+X应急响应(初级)最详细,最全,看完包你通过
    +X应急响应(重点)应急响应准备⼯作:应急响应概念:⽹络安全应急响应概念:应急响应体系:应急响应过程:应急准备阶段主要⼯作:⻛险评估与改进:应急响应预案制定流程:应急响应流程:应急响应保障措施:Windows系统排查:Linux系统排查:系统备份:备份概述:备份种类:系统加固:数据库加固......
  • 想要给文件加密?这8款实用的文件加密软件2024办公必备
    在当今信息化的社会中,数据安全越来越受到重视,无论是企业用户还是个人用户,都希望通过加密来保护文件的隐私和安全。以下为您整理了8款实用的文件加密软件,每款工具都功能强大,使用便捷,助您在2024年轻松保障数据安全。1.安秉网盾适合人群:企业用户安秉网盾文件加密是一款高效、......
  • 2024年想要加密文件?常用10款文件加密软件分享|企业办公必备!
    在数字化时代,数据安全是企业运营和个人隐私保护的重要一环。为了有效防止数据泄露,选择一款合适的文件加密软件至关重要。以下是2024年推荐的10款常用文件加密软件,这些软件各具特色,能够满足不同企业和个人的加密需求。1.安秉网盾安秉网盾是一款专注于企业级信息安全管理的工......
  • 2024年入职/转行网络安全,该如何规划?_网络安全职业规划
     前言前段时间,知名机构麦可思研究院发布了 《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,其中,信息安全位列第一。网络安全前景对于网络安全的发展与就业前景,想必无需我多言,作为当下应届生收入较高的专业之一,网络安全同样也在转行领域中占据热门位置,主要......
  • 2024最新网络安全自学路线,内容涵盖3-5年技能提升
     01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也......
  • 入门网络安全工程师要学习哪些内容(详细教程)
    ......
  • i春秋-GetFlag(md5加密,字符串比较绕过)
    练习平台地址竞赛中心题目描述 题目内容你好,单身狗,这是一个迷你文件管理器,你可以登录和下载文件,甚至得到旗帜 点击登录 发现capture需要满足条件substr(md5(captcha),0,6)=xxxxxx编写python脚本破解验证码importhashlibdefgetMd5(index):"""函......