三九宝宝网宝宝百科宝宝知识

php:如何生成随机的唯一字母数字字符串

02月09日 编辑 39baobao.com

[帮忙取个女性英文名要4个字母左右的容易记顺口!太常见的不]一楼的兄弟看来是越狱看多了~呵呵 就叫Echo,希腊神话中的女神,单恋Narcisuss,最终憔悴消损只剩声音,变为回声。(Narcisuss 希腊神话中自恋的美少年,整日欣赏自己在水中的倒影,而不...+阅读

1. 自己写代码产生随机的数字和字母组合,每产生1个去数据库查询该随机码是否已存在,如果已存在,则重新产生,直到不重复为止。

缺点:产生速度慢,还要查询数据库,当数据量大的时候,可能重复的机率会比较高,要查询多次数据库.

2. guid,该方法应该是用的比较多的。

优点:使用简单方便,不用自己编写额外的代码

缺点:占用数据库空间相对较大,特别是根据guid查询速度比较慢(毕竟是字符串)。

3. 主键+随机码的方式,我们产生的随机码保存到数据库肯定会有个主键,用该主键+随机字符来组合。产生步骤:

1) 先从id生成器中获取id,比如是155.

2)填充成固定位数(比如8位)的字符串(不够位数的左边填0,超过位数直接使用该数字),得到:00000155

3)在每个数字后面随机插入1个字母或其它非数字符号,得到:0A0F0R0Y0H1K5L5M

这样就可以得到1个随机的唯一的邀请码了。

优点:使用也比较简单,不用查询数据库。最大的优点是查询的时候,可以根据邀请码直接得到主键id,然后根据id去数据库查询(速度很快),再比较查询出来的邀请码和用户提交的邀请码是否一致。

缺点:需要使用id产生器,如果主键是数据库自增长的就不太好用(需要先插入数据库获取id,再更新邀请码)。

4. 有时候产品经理说,我要求邀请码都是数字的。把方法3变通下就可以实现唯一的纯数字随机码了。

1) 获取id: 155

2) 转换成8进制:233

3) 转为字符串,并在后面加'9'字符:2339

4)在后面随机产生若干个随机数字字符:2003967524987

转为8进制后就不会出现9这个字符,然后在后面加个'9',这样就能确定唯一性。最后在后面产生一些随机数字就可以。

以下为关联文档:

如何用两个字符串生成一个唯一的数字参考做法:将这两个字串合并,生成合并字串的MD5.MD5的作用:MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一...

EXCEL如何实现小写字母自动转大写字母回答: 在同一个工作薄中再新建一个空白的工作表,假设原来的工作表为SHEET 1 ,新建的工作表为SHEET 2,在"SHEET2 "A1 的单元格中输入"=UPPER(SHEET1!A1)”,这样就可以将工作表“SHEET...

EXCEL里怎么把小写字母全部换成大写字母 EXCEL里怎么把小写字1、如图,在A列有一列小写字母的单词,把它们都换成大写字母。只要在B1单元格输入“=upper(a1)” 2、回车后,就把A1单元格的小写字母都变为了大写 3、光标移到B1单元格左下角,光...

电脑缝纫机字母键怎样使用直接按键就是数字键,按shift键+数字键,就能切换到该数字键上面的符号。 Shift键:上档转换键,和数字键还有其他类似标有两档字符的键组合使用,就能切换到上面的字符。 Shift键还有...

拼音的26个字母怎么读声母表 b p m f d t n l ㄅ玻 ㄆ坡 ㄇ摸 ㄈ佛 ㄉ得 ㄊ特 ㄋ讷 ㄌ勒 ɡ k h j q x ㄍ哥 ㄎ科 ㄏ喝 ㄐ基 ㄑ欺 ㄒ希 zh ch sh r z c s ㄓ知 ㄔ蚩 ㄕ诗 ㄖ日 ㄗ资 ㄘ雌 ㄙ思 三...

西班牙语日常会话汉语拼音标注 1字母拼音 2在商店买东西 3问路 41.字母:A(a), B(be), C (se), D(de), E(e), F (efe), G(he), H(ache), I (i), J (hota), K (ka), L(ele), M(eme), N(ene), ?(enie), O (o), P(pe), Q(ku), R(erre), S(ese),...

linuxunix shell中expr字符串匹配问题请教个人认为,就是完全匹配与部分匹配的差别。 grep 只要字符串中有部分能够与正则匹配即可,并且会输出匹配的一整行。帮助里这样讲: grep searches the named input FILEs (or sta...

跪求48个音标急!不要那种带大写字母的就是初一学的音标[i] [ə] [ɔ] [u] [ʌ] [e] [æ] [i:] [ə:] [ɔ:] [u:] [ɑ:] [ei] [ai] [ɔi] [au] [əu] [iə] [ɛə] [uə] [p] [t] [k] [f] [θ] [s] [ʦ] [tr] [ʃ] [ʧ] [b] [d] [ɡ] [...

谁有西班牙语的字母表给我一份西班牙语怎么学?a b c ch d e f g h i j k l ll m n ñ o p q r rr s t u v w x y z 西班牙语总共29个字母,要想学的话,还是买书吧。网上查找的资源远远不够的,毕竟西班牙语在中国还算是冷门,所...

推荐阅读
图文推荐