认证加密概念笔记
1.安全认证
参考:https://blog.csdn.net/qq_41644069/article/details/121301955
1.1 公钥私钥
公钥和私钥用来加解密数据,如果使用任意一把来加密数据,那么只有使用另外一把才能解密数据。
公钥可以公开供其他人使用,自己只保留自己的私钥。一般简单情况就是公钥加密,私钥解密。
1.2 数字签名
对传输报文的内容进行hash计算生成一个摘要(过程不可逆,摘要和传输报文是一对一的,报文被篡改的话,摘要也会改变),然后使用私钥对摘要进行加密,加密后的结果我们称之为"数字签名"。
1.3数字证书
数字证书是经过权威机构(CA)认证的公钥,通过查看数字证书,可以知道该证书是由哪家权威机构签发的,证书使用人信息,使用人的公钥。就是给他人提供公钥的时候会把数字证书也提供过去,因为证书携带这持有证书人的信息,所以用来防止公钥被偷换。
2.认证方式
2.1 cookie认证
就是把登录后的验证信息放到cookie中返回给前端,下次前端访问系统的时候要拿着这个cookie提交给后台做校验。
2.2 session认证
类似cookie,就是在服务端生成一个sessionID返回给客户端,然后客户端携带该id访问后台服务器并作校验。
2.3 JWT(json web token)安全认证
JWT(json web token),它并不是一个具体的技术实现,而更像是一种标准。
JWT规定了数据传输的结构,一串完整的JWT由三段落组成,每个段落用英文句号连接(.)连接,他们分别是:Header、Payload、Signature,所以,常规的JWT内容格式是这样的:AAA.BBB.CCC
并且,这一串内容会base64加密;也就是说base64解码就可以看到实际传输的内容。
头部一般就是json格式的数据,存放类型和加密算法,通过base64加密产生的一个串
载荷一般就是json格式的数据,存放jwt的创建时间,过期时间,创建者等信息,也可额外存放自己的不敏感信息,然后通过base64加密产生一个串。
签名就是在前两部们加密后的基础上根据头部指定的加密算法再次进行加密产生一个串。
这三个串用"."隔开拼接起来就是JWT
标签:公钥,私钥,base64,JWT,笔记,认证,加密 From: https://www.cnblogs.com/lfh-blog/p/18117235