js逻辑封装_加密解密

本文介绍了加密的三种主要类型:对称加密(如AES)、非对称加密(如RSA)以及摘要算法(如MD5),强调了它们的特点和应用场景。还提供了js-md5和crypto-js插件在JavaScript中实现MD5和AES加密解密的方法。
摘要由CSDN通过智能技术生成

加密的本质是对原来为明⽂的⽂件或数据按某种算法进⾏处理,使其成为不可读的⼀段代码。

知识点1 - 加密分类

[1] 对称加密
  • 定义: 对称加密指加密和解密使⽤相同密钥的加密算法,也称为单密钥加密。
  • 特点:算法公开、计算量量少、 加密速度快,对于同样⼤小的传输对象,对称加密效率通常为非对称加密的千倍左右,因此通常被广泛应。eg:https在真正数据通信时就是使⽤的对称加密算法
  • 缺点:
    • 加解密使⽤同一把密钥,一旦一⽅密钥泄露,传输的数据就存在安全⻛风险。
    • 与多方的通信需要 使⽤不同的密钥,通信双方需要管理大量的密钥。
  • 常⻅的对称加密算法:ESC,DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等
[2] ⾮对称加密
  • 定义:非对称加密使⽤一对公钥和私钥来加密通信数据,也称为双密钥加密。
    • 公钥和私钥是成对出现的,通信数据使⽤公钥加密后,只能通过对应私钥来解密,同样使⽤私钥加密后也只能通过公钥来解密查看。公钥是对外公开的,外界通信方可以很容易获取到,而私钥是不公开的,只存在于己方。服务器器使⽤私钥加密数据往外传输时,可以被持有公钥的客户端解密查看,但客户端使用公钥加密数据传输给服务端时,数据是严格安全的,只有服务器使用私钥才能解密查看。
  • 特点:非对称密钥数据通信是单向安全的,客户端使⽤服务端的公钥加密数据传向服务端是严格加密安全的。
  • 使用场景
    • 单向传输加密数据,防止中间人攻击。使⽤公钥加密数据并传输给接受者,可以确保只接受者才能获得明文信息,一般⽤于交换对称密钥;
    • 身份验证和数据校验。发送方使用私钥加密明文数据的hash值,并将明文加密后的数据和公钥⼀一起发送给接收方,接收方只需要通过公钥解密文,然后与相同hash算法获取明⽂文的hash值进⾏行行⽐比较, ⼀一致则说明明⽂文数据没有被篡改,⼀一般⽤用于数字签名。
  • 常⻅见的⾮非对称加密算法:RSA、DSA、Diffie-Hellman、ECC等
[3] 摘要算法
  • 定义: 摘要算法也称为哈希算法、散列算法,可以将任意长度的数据转换成一个定长的不可逆的数字。只要原⽂本不同,计算的结果必然不同(几乎不⽤考虑重复的情况)。
  • 作用:摘要算法用于对比信息源是否一致,因为只要数据源发生变化,得到的摘要信息必然不同ÿ
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值