当前位置: 首页 > Web前端 > HTML

都2022年了你还不懂加解密吗?

时间:2023-03-28 13:32:29 HTML

前言加解密是前后端开发中经常用到的技术。应用场景包括但不限于用户认证、数据传输等,不同的应用场景也会需要使用不同的签名加密算法,或者需要匹配不同的签名加密算法来实现业务目标。所以,如果你了解加解密,以及常用的加解密函数库,就可以根据不同的业务场景选择适合当前业务场景的加解密函数库。安全威胁这里,我们借用workPlus的安全威胁概述来说明:第一,中断攻击者故意破坏和切断他人在网络上的通信,这是一种可用性攻击。第二,拦截是被动攻击。攻击者从网络中窃听他人的通信内容,破坏信息的机密性。第三,篡改攻击者有意篡改网络上传输的数据包,这是对完整性的攻击。第四,伪造攻击者伪造信息在网络上传输,是对真实性的攻击。加密的意义数据加密a.敏感数据加密:对敏感数据进行完整性校验和加密存储,有效防止敏感数据被窃取、篡改、非法获取权限;b.金融支付保护:确保支付数据在传输和存储过程中的完整性、保密性、支付身份的认证、支付过程中的不可抵赖性;C。查假票据:确保电子合同、电子发票、电子保单、电子病历在传输和存储过程中的保密性和安全性。正直;d.视频监控安全:确保视频、人脸、车辆、轨迹等隐私信息,以及个人数据在存储过程中的保密性,防止数据泄露;信息安全:A.网上泄露的用户和密码信息,生成对应的字典表,尝试批量登录其他网站,然后得到一系列可以登录的用户。凭证库的原因是信息泄露,以及泄露的数据未加密或加密方式比较弱,从而可以获取到原始用户和密码;加密和解密的分类对称加密a.定义:对称加密(也称私钥加密)是指加密和解密使用相同密钥的加密算法。有时也称为传统密码算法,即可以从解密密钥中推导出加密密钥,也可以从加密密钥中计算出解密密钥。在大多数对称算法中,加密密钥和解密密钥是相同的,所以这种加密算法也称为秘密密钥算法或单密钥算法。它要求发送方和接收方在安全通信之前就密钥达成一致。对称算法的安全性取决于密钥。泄露密钥意味着任何人都可以解密他们发送或接收的消息,因此密钥的保密性对于通信的安全非常重要。b.特点:对称加密算法具有算法开放、计算量小、加密速度快、加密效率高等特点。C。不足:密钥的管理和分发非常困难,不够安全。在传输数据之前,发送方和接收方必须商定一个密钥,然后双方必须保存密钥。如果一方的密钥泄露,加密后的信息将不安全。另外,一对用户每次使用对称加密算法时,都需要使用一个别人不知道的唯一秘钥,这会造成接收方和发送方都拥有大量的密钥,密钥管理将成为一个难题。双方的负担。d.具体算法:DES、AES、3DES、凯撒加密算法等非对称加密a.定义:一个非对称加密算法需要两个密钥:公钥(publickey:简称publickey)和私钥(privatekey:简称privatekey)。公钥和私钥是一对。如果数据是用公钥加密的,就只能用对应的私钥解密。b.过程:甲方生成一对密钥,公开公钥。其他需要向甲方发送信息的角色(乙方)使用此密钥(甲方的公钥)加密保密信息后发送给甲方。甲方用自己的私钥对加密后的信息进行解密。当甲方要回复乙方时,情况正好相反。乙方的公钥用于加密数据。同样,乙方使用自己的私钥解密。C。特点:算法强度复杂,安全取决于算法和密钥。但是由于算法的复杂性,加解密的速度没有对称加解密快。d.不足:非对称加密算法比对称加密算法慢数千倍。e.具体算法:RSA,RSA可以通过认证、ECC(椭圆曲线加密算法)来防止中间人攻击。混合加密A.过程:服务器将自己的公钥以明文形式发送给客户端。客户端收到公钥后,生成一个密钥(用于对称加密),然后用服务器的公钥对密钥进行配对。对密钥进行加密,然后把密钥传给服务器,服务器收到后解密。最后服务端可以安全的拿到密钥,客户端也有相同的密钥,就可以进行对称加密了。b.特点:混合加密综合了两者的长处,即解决了秘钥的安全分发问题,同时也提高了加解密的效率。数字签名A.过程:发送消息时,发送方使用哈希函数从消息正文中生成消息摘要,然后用发送方的私钥对摘要进行加密,加密后的摘要将作为消息的数字签名和消息一起发送给接收者。接收方首先使用与发送方相同的哈希函数从接收到的原始消息中计算出消息摘要,然后使用公钥对消息进行数字签名。如果两个摘要相同,则接收方可以确认消息属于发送方。b.数字签名有两个作用:一是确认消息确实是发件人签名发送的,因为其他人无法伪造发件人的签名。其次,数字签名可以确定消息的完整性。因为数字签名的特点是代表文件的特征,如果文件发生变化,数字摘要的值也会发生变化。不同的文件将获得不同的数字摘要。数字签名涉及散列函数、接收方的公钥和发送方的私钥。数字证书(或简称证书):是在互联网上唯一标识人和资源的电子文件。证书可在两个实体之间实现安全、机密的通信。加解密应用场景目前业务中使用sm2进行国家机密加解密,即国家密码管理局认可的国产加密算法。主要有SM1、SM2、SM3、SM4。密钥长度和块长度均为128位。1:SM1为对称加密。其加密强度可与AES相媲美。该算法不公开。调用该算法时,需要通过加密芯片的接口调用。2:SM2是基于ECC的非对称加密。该算法是公开的。由于该算法基于ECC,其签名速度和密钥生成速度都比RSA快。ECC256-bit(SM2是ECC256-bit的一种)安全强度比RSA2048-bit高,但运算速度比RSA快。3:SM3消息摘要。MD5可以作为对比来理解。该算法是公开的。校验结果为256位。4:SM4无线局域网标准的分组数据算法。对称加密,密钥长度和块长度均为128位。constsm2=require('sm-crypto').sm2;//在uic中//控制台中的加解密应用import{SM2}from'gm-crypto';//sm2加密导出函数encryptSM(str,key){constresult=SM2.encrypt(str,key,{inputEncoding:'utf8',outputEncoding:'hex',//支持hex/base64等格式});//04表示未压缩return'04'+result;}//sm2解密导出函数decryptSM(str,key){returnSM2.decrypt(str,key,{inputEncoding:'hex',outputEncoding:'utf8',//支持hex/base64等格式});}想想非对称加密公钥和私钥都可以加密,那么什么时候用公钥加密,什么时候用私钥“加密”呢?什么是数字签名,数字签名有什么作用?为什么要签署数据摘要而不是直接计算原始数据的数字签名?什么是数字证书,数字证书解决了哪些问题?前端加密有用吗?前端加密不是一种明确的保护措施,但它是一种有意义的低成本安全增强措施。