
1 alexrezit 2013 年 7 月 16 日 字母 + 数字, 递增... |
2 subpo 2013 年 7 月 16 日 谷歌uuid,会有各种语言下的解决方案 |
3 lichao 2013 年 7 月 16 日 不区分大小写的话,可以使用 36 进制 |
4 rppig42 OP |
5 subpo 2013 年 7 月 16 日 @rppig42 其实我昨天才问这个问题,分享两个挺hack的写法给你 (((1+Math.random())*0x10000)|0).toString(16).substring(1) Math.random().toString(32).substr(2) |
6 xing393939 2013 年 7 月 16 日 我有个比较弱的实现:http://www.v2ex.com/t/66561#reply28 其实就是密码表,但是这个贴说密码表近似于明文:http://www.v2ex.com/t/75769 或者uuid:http://wenku.baidu.com/view/482a9d4a2e3f5727a5e96226 当然仅仅用于使网站的id的自增情况不让人知道,这样的应该够用了 |
7 reorx 2013 年 7 月 16 日 |
8 bergkamp 2013 年 7 月 16 日 base62encode |
9 msg7086 2013 年 7 月 16 日 以前在jSharer做过整数到短地址的映射。说白了就是base62编码,但是可以改变码表顺序做出自己的映射来。 |
10 darasion 2013 年 7 月 16 日 表示同样的数字(比如数据库ID): 2 进制很长很长,{0, 1} 8 进制稍微短了一些,{0~8} 10进制比八进制短,{0~9} 16进制更短,{0~9, a~f} .... 以此类推.... 62进制(就是楼上很多人说的base62),{0~9,a~z,A~Z} 加URL中允许使用的上减号和下划线,甚至也可以(base64),{0~9,a~z,A~Z,-,_} 其实就是进制转换了,没啥高科技。 |
11 Actrace 2013 年 7 月 16 日 把主键ID转换成64进制字符串. |
12 openroc 2013 年 7 月 16 日 看一下python的hash函数的源码 |
13 avenger 2019 年 4 月 30 日 base_convert($num, 10, 36) |