3 个回答

数据库中用户有ID吗?如果有的话,直接将ID转为十六进制,可以表示16^6个用户,16777216,不要考虑太多.
clipboard.png
转换之后不足的前边用0补齐,或者直接加上16^5,解的时候再减掉,保证六位数.
16进制用到的字母很少,你也可以用26字母+0~9来表示数字,也就是三十六进制,六位数有21亿.

需求应该是每个用户注册直接生成一个唯一的邀请码对吧?我提到的就是数据库唯一自增键作为邀请码了.不一定需要随机对不对?

6位,还要能解码。最好还是专门弄个表来存吧,或者用户表多加一个字段,不然,你这可以解码的需求太奇葩了。就算用base64 ,也只能最多存3位数字,也就是 0 - 999,不足的前面补零,比如 001 ,其次 base64后的 == 可以移除。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏