同一个用户唯一码生成,类似微信的 openid 和unionid
现在有个需求,想生成唯一码
比如用户id
: 123456
, 商户key
: B123456789
生成唯一码:
根据用户
ID
和商户key
生成,最后可以解密得到对应id
和key
- 好处是不用存储用户与商户关系,缺点是长度不固定
根据用户
ID
和商户key
生成一个固定长度的值,并把3个值存到数据库,- 坏处是需要一个多余的表,好处是:长度固定,看着舒服
请问应该怎么弄呢?
还有就是 加密解密算法?有参考的吗? 长度尽量不超过50 位吧!
结论:
使用 hashids 扩展库
- composer 安装
composer require hashids/hashids
- 官网:hashids.org/php/
有兴趣的可以看下官网
第一种 总感觉一股违和感 你有用户的
id
和商户的key
还要 找个secret
再加密....我建议你直接用第二中吧 用户商户的关联字段肯定是要存的 不然你之后想用数据库直接关联查询的时候 你还没办法查询
id生成?hashids.org/php/ 试试?
jwt
vinkla/hashids 可以试一下