1
alexrezit 2013-07-16 09:25:46 +08:00
字母 + 数字, 递增...
|
2
subpo 2013-07-16 09:26:36 +08:00
谷歌uuid,会有各种语言下的解决方案
|
3
lichao 2013-07-16 09:27:18 +08:00
不区分大小写的话,可以使用 36 进制
|
4
rppig42 OP |
5
subpo 2013-07-16 09:47:44 +08:00 1
@rppig42 其实我昨天才问这个问题,分享两个挺hack的写法给你
(((1+Math.random())*0x10000)|0).toString(16).substring(1) Math.random().toString(32).substr(2) |
6
xing393939 2013-07-16 09:52:40 +08:00
我有个比较弱的实现:http://www.v2ex.com/t/66561#reply28
其实就是密码表,但是这个贴说密码表近似于明文:http://www.v2ex.com/t/75769 或者uuid:http://wenku.baidu.com/view/482a9d4a2e3f5727a5e96226 当然仅仅用于使网站的id的自增情况不让人知道,这样的应该够用了 |
7
reorx 2013-07-16 13:01:50 +08:00
|
8
bergkamp 2013-07-16 14:06:22 +08:00
base62encode
|
9
msg7086 2013-07-16 16:04:03 +08:00
以前在jSharer做过整数到短地址的映射。说白了就是base62编码,但是可以改变码表顺序做出自己的映射来。
|
10
darasion 2013-07-16 16:17:09 +08:00 1
表示同样的数字(比如数据库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-07-16 16:57:06 +08:00
把主键ID转换成64进制字符串.
|
12
openroc 2013-07-16 16:58:36 +08:00
看一下python的hash函数的源码
|
13
avenger 2019-04-30 01:43:05 +08:00
base_convert($num, 10, 36)
|