生成短 址算法

(1)进制算法:

算法简述:一个以数字、大小写字母共62个字符的任意进制的算法。

数据库中ID递增,当ID为233,则对应短 址计算过程如下:

①设置序列为:

“0123456789abcdefghijklmnopqrstuvwxyz”

② 233/36=6

③ 233%36= 17

④依次取上述字符的6位,17位,则为6h

其生成之后的短 址为xx.xx/6h

(2)随机数算法:

算法简述:每次对候选字符进行任意次随机位数选择,拼接之后检查是否重复

若要求位数为2,则其对应短地址为计算过程如下:

①设置字符序列:

“0123456789abcdefghijklmnopqrstuvwxyz”

②根据字符个数设置最大值为35,最小值为0,取2次随机数假设为:6,17

③依次取上述字符的6位和17位,则为6h

其生成之后的短 址为xx.xx/6h

(3)HASH算法:

算法简述:对id进行hash操作( 可选:利用随机数进行加盐),并检查是否重复

设置ID自增,若ID=233,则其对应短地址为计算过程如下:

①取随机数为盐

②对233进行sha1加密为:

aaccb8bb2b4c442a7c16a9b209c9ff448c6c5f35:2

③要求位数为7,直接取上述加密结果的前7位为:aaccb8

其生成之后的短 址为xx.xx/2e8c027

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月20日
下一篇 2018年9月20日

相关推荐