常见的加密方式?
可逆加密算法:加密后,密文可以方向解密得到密码原文
- 对称加密:加密和解密用相同的密钥
- 优点是算法公开,计算量小,加密速度快,加密效率高
- 缺点是不够安全
- 用途:一般用于保存用户手机号,身份证等敏感但能解密的信息.
- 常见的对称加密算法有:AES DES 3DES Blowfish IDEA RC4 RC5 RC6 HS256
- 非对称加密:两个密钥,公钥和私钥
- 公钥加密 私钥解密
- 私钥签名 ,持有公钥进行验证是否被篡改过
- 优点:安全性相比更高
- 缺点:加密解密花费时间久,速度慢 适合对少量数据进行加密
- 用途:一般用于签名和认证.私钥服务器保存用来加密 公钥客户端拿着用于对令牌或者签名的解密或者校验使用.
不可逆加密算法:一旦加密不能反向解密得到密码原文
- 种类:Hash加密算法,散列算法,摘要算法
- 用途一般用于校验下载文件正确性,一般在网站上下载文件都能剑道:存储用户敏感信息,如密码 卡号等不可解密的信息
- 常见的不可逆加密算法有:MD5、SHA、HMAC
Base64编码: Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64编码可用于在HTTP环境下传递较长的标识信息。采用Base64Base64编码解码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。注意:Base64只是一种编码方式,不算加密方法。
MD5密码加密: md5相同的密码每次加密都一样,不太安全
混淆加密(md5+随机字符串): 在md5的基础上手动加盐(salt)处理
项目中是如何进行登录认证的?
什么是无状态登录?
token本身包含登录用户所有的相关数据,而客户端在认证后的每次请求都会携带token,因此服务器端无需存放token数据
什么是JWT Token?
如何保证token令牌不被篡改?
token令牌能否保证数据安全?
请介绍下用户实名认证模块的业务流程?
Feign的作用?
Hystrix的作用?
项目中Feign的具体使用?
