发表于: 2020-08-16 23:04:41

1 1479


今天完成的事:

深入理解token。

了解非对称加密和对称加密的优缺点。

hash算法的概念。

明天计划:

补springmvc基础。

建立一个学生表单页面来练习分页。

了解压测的相关名词概念。

遇到的问题:

收获:

token

是什么?

是一种验证用户身份有效性的方法。

token出来解决了什么问题?

1.token由客户端自行管理,不用存储进数据库,减轻服务器压力。

2.token可以避免CRSF攻击。

3.token是无状态的,可以在多个服务间共享。

服务器给客户端发送token和验证token的方法:

在token中加入一些用户的相关信息,比如用户id之类的。然后加上一个签名,把签名和用户信息用加密算法加密,密钥只有服务端知道。客户端发送token给服务器的时候,这个token服务器不保存,用同样的算法和密钥把这个token解密,如果解密成功,说明用户认证成功。签名的作用是保证token不被篡改。


对称加密算法

解密和加密都用同一个密钥。

优点

加密速度快。因为使用位运算,位运算是直接移动比特位。

缺点

1.发送方发送密钥的过程中,密钥有很大风险被黑客截获。

2.密钥管理量的困难,比如一个电商系统,每个用户和系统的之间密钥必须是唯一的,如果用户量很大,系统存储成本会很高。

常见的算法

DES,IDEA,AES。

非对称加密算法 

使用一对密钥来解密加密,分为公钥和私钥。用公钥加密的文件,私钥才能解开,用私钥加密的文件,公钥才能解开。

公钥/私钥的使用场景:

公钥加密,私钥解密----》用于加解密。

私钥加密,公钥解密----》用于签名。

签名:不可能让人冒充自己发送信息,只有自己才能发消息,所以使用私钥签名,公钥验证。

优点

安全性更高,因为私钥是不用发送出去的,公钥即使被截获了也没有私钥解密,所以加密的信息不会泄露。

存储成本低,因为每个人都有一对公钥和私钥,只需要用公钥传递保密信息即可。

缺点

加密速度慢。

常见的算法

RSA,DSA,ECC。

hash算法:又叫散列算法,作用是把一段目标文本文件转换成不可逆的,具有相同长度的,杂凑的字符串。但是不叫hash加密,而是hash存储,因为加密是相对解密来说,而hash算法是不可逆的,也没有解密这一说法。hash是一种存储的方法,比如把明文密码经过hash算法转换后存入数据库中,用户每次输入密码,把这个输入的密码进行hash转换后再比对数据库中的hash码,如果两个hash码相同,那么密码就是正确的。

常见的算法:

MD5,SHA1。 






返回列表 返回列表
评论

    分享到