情况是这样的:
我的站点弄了一个QQ第三方登录的功能,但是QQ第三方登录返回的OPENID是32个字符的,而我的数据库中由于某些业务逻辑的原因,账号名必须是5~12位之间。
所以没办法用openid做账号。
用GUID的话也太长。
用useid做用户名的话,比如新增用户的时候先去取users表的MAX(id),然后MAX(id)+1做用户名但是这样的话可能会有并发的风险。求大虾指导
我的站点弄了一个QQ第三方登录的功能,但是QQ第三方登录返回的OPENID是32个字符的,而我的数据库中由于某些业务逻辑的原因,账号名必须是5~12位之间。
所以没办法用openid做账号。
用GUID的话也太长。
用useid做用户名的话,比如新增用户的时候先去取users表的MAX(id),然后MAX(id)+1做用户名但是这样的话可能会有并发的风险。求大虾指导
2、取时间,精确到毫秒
3、先分配好1个数组,就是一连串的帐号,再从数组里取
取后台MAX ID+1+rand()的话 高并发的时候 有几率中枪。。
取后台MAX ID+1+rand()的话 高并发的时候 有几率中枪。。
12字符随机的话 感觉随时能中枪,如果你这么感觉,那么无解。
因为这是碰撞概率最低的方式了。