今天看其他项目的数据库,看到uid是加密过的
保持会话的方式是jwt
有人知道为什么嘛?
你说的是mysql里的内置函数uuid吗?
mysql 中可以有二类用于生成唯一值性质的工具:UUID()函数和自增序列
他们都可以实现生成唯一值的功能;
uuid 是可以生成时间、空间上都独一无二的值;自增序列只能生成基于表内的唯一值,且需要搭配使其为唯一的主键或唯一索引;
实现方式不一样,uuid 是随机+规则组合而成的,而自增序列是控制一个值逐步增长的;
uuid 产生的是字符串类型值,固定长度为:36个字符,而自增序列产生的是整数类型值,长度由字段定义属性决定;
所以这里你说的uid加密可能是用的内置函数uuid生成的,这么做是为了避免在高并发的情况下,有重复的可能。
加密或者不加密都可以吧。
不加密的好处是 uid 加索引
和外键
什么的速度快。
加密的好处是无法通过 uid 去推其他的 uid (比如简单的uid递增方式)
这和JWT
无关的, JWT
只是对UID或者其他能够标明用户身份的字段进行加密再返回而已,通过url发送过来的uid或者其他字段验证是否正确和超时
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
不是加密了的 那是hash, UID不一定是数字自增的
一般来说分布式的系统 用这样的hash uid比较多
好处就是在高访问量,高并发下 uid不会重复.