加密基础了解

加密简单分类:

1.对称加密(加密和解密的密钥是相同的,常见的对称算法有DES、3DES等。)

2.非对称加密(加密和解密的密钥是不同的。从一个密钥很难推导出另一个密钥,公钥可以公开,私钥必须秘密保存。常见的非对称加密算法有RSA、DH等)

3.摘要算法(将任意长度的输入消息数据转化成固定长度的数据输出。常见的摘要算法有MD5、SHA1等,本质看可以理解为常用的密码散列函数)

4.数字信封(随机产生对称密钥,采用对称密钥算法对大批量数据进行加密,并采用非对称密码算法对该对称密钥进行加密;解密时,先用非对称密码算法解密后获得对称密钥,然后使用对称密码算法解密后获得数据明文)

5.数字签名 (消息用散列函数处理得到消息搞要,再用双钥密码体制的私钥对其进行加密,称为数字签名.)

优缺点对比

1.对称密码算法优点是:加解密运算非常快,适合处理大批量数据。

                         缺点是:密钥分发与管理比较复杂。

2.非对称密码算法优点:公钥与私钥分开,适合密钥的分发与管理。

                         缺点是:运行速度不快,不适合处理大批量数据。

3.数字信封:将对称密码算法和非对称密码算法的优点结合起来,则既能处理大批量数据,又能简化密钥的分发与管理。

补充几种前端简单加密

1.Base64加密

Base64是一种用来将二进制数据编码为可读文本形式的编码规范。在这个页面中,当用户点击“base64加密”按钮时,会调用一个JavaScript函数fn1(),该函数使用了window.btoa()方法进行Base64加密操作,并使用window.atob()方法进行解密操作。

// base64加密
var fn1=()=>{
  // 加密
  var str = window.btoa('123564896514')
  console.log('加密后',str);
  // 解密
  var str2 = window.atob(str);
  console.log('解密后',str2);
}

2.escape()(对应解码unescape())

该方法不会对ASCII字母和数字进行,也不会对* @ - _ + . / 。进行编码,其他所有的字符都会被转义序列替换。

3.encodeURI() (对应解码decodeURI())

该函数可把字符串作为URI进行编码。该方法不会对ASCII码字母和数字进行编码,也不会对- _ . ! ~ * ' ( )进行编码,对URIj具有特殊含义的符号也不会进行转义。

4.encodeURIComponent() (对应解码decodeURIComponent())

该函数可把字符串作为URI组件进行编码。该方法不会对ASCII码字母和数字进行编码,也不会对- _ . ! ~ * ' ( )进行编码。其他字符都是由一个或多个十六进制的转义序列替换的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值