博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
短网址算法原理
阅读量:6951 次
发布时间:2019-06-27

本文共 455 字,大约阅读时间需要 1 分钟。

算法一

1)将长网址 生成32位签名串,分为4段, 每段4个字节(即32位);
2)对这四段循环处理, 取4个字节(32位), 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
3)这30位分成6段, 每5位的数字作为字母表的索引取得特定 , 依次进行获得6位字符串;
4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址;

算法二

把数字和字符组合做一定的 ,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。
把长网址存入数据库,取返回的id,找出对应的字符串,例如返回ID为1,那么对应上面的字符串组合就是bbb,同 理 ID为2时,字符串组合为bba,依次类推,直至到达62种组合后才会出现重复的可能,所以如果用上面的62个字符,任意取6个字符组合成字符串的话,你 的数据存量达到500多亿后才会出现重复的可能。

转载地址:http://xvkil.baihongyu.com/

你可能感兴趣的文章
利用jstack命令定位占用cpu高的java线程及具体错误代码信息
查看>>
枚举、模拟、递推
查看>>
PSD模板设计图转化为HTML模板的正确做法
查看>>
【C#】事件
查看>>
CF 672 div2 D
查看>>
字符串类dp的题目总结
查看>>
css 视图结构
查看>>
洛谷P1445 樱花
查看>>
P1186 玛丽卡 删边最短路最大值
查看>>
软件工程期末展示材料——RUC自习助手
查看>>
zabbix监控nginx
查看>>
兼容火狐浏览器的select下拉框样式
查看>>
购物商城Web开发第七天
查看>>
TensorFlow安装解惑
查看>>
Windows 后台执行jar
查看>>
纯js实现10分钟倒计时
查看>>
敏捷实践简单分享补充
查看>>
Apple Push Notification service
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>
python学习笔记之常用操作符
查看>>