后端返回一个字符串给前端,前端加密成token来请求接口,后端在把token解密和数据库校验请问这样有什么弊端吗
安全性差:如果前端加密的 token 密钥被恶意用户窃取,那么这个恶意用户就可以伪造 token 来访问接口,这样就会对系统的安全造成严重威胁。
效率低下:如果大量的用户同时向后端请求接口,那么后端每次都需要对 token 进行解密和数据库校验,这样会导致系统的性能下降。
不便于维护:如果需要对 token 的加密和解密进行修改,那么前端和后端的代码都需要进行修改,这样不便于系统的维护
这样数据库存储就是明文的吧,这样应该是不安全
是明文
其实校验没必要解密
如果要全过程脱敏,后端和数据库可以全程加密校验(前提是你的token字符串真的只是字符串,例如:密码 等)