短链接算法原理详解

2022-09-28 14:30:52

阅读 957

短链接的算法是什么,短链接生成的原理是什么,很多伙伴都在资讯这个问题。那么今天缩我短链接小编就帮大家带来详细的介绍,相信你看了之后就会明白的。

短链接算法

MD5的生成的 ,其实这个算法主要是把长字符串变小 ,这个算法是不可逆的,所以别想着去直接反转短地址

利用MD5的算法,其具体过程为:

1. 将原始长链接进行MD5加密,为了避免防止算法泄漏,可以在原链接上添加自定义的字符串作为密钥。

2. 把128位的MD分成四组,每组32位,对应一个候选短链接。

3. 对于每个32位的数,将它与0x3FFFFFFF进行位与运算,取其低30位的数据。把得到的值与0x0000003D进行位与运算,再把得到的结果作为下标在字符表中选取字符,再把原数字右移5位进行相同操作,重复进行6次得到6个字符,即组成一个候选短链接地址。

4. 在4个候选短链接中随机选择一个作为最终的短链接,把长短链接映射关系存入数据库中。

短链接生成

服务器收到一个短链接请求时,需要把从http地址中解析出短链接,然后将得到的短链接在数据库中进行查询,找到其对应的长连接,进而重定向到该长长链接对应的地址。另外,服务器在此时可以随意进行一些需要的统计工作。

算法本质上就是一个长短链接的映射过程,那么一个简单的想法是用递增的序号来表示短链接,每次进来一个长链接时,把它映射成当前的序号,同时把序号递增以供下一个链接使用。因为链接地址同时使用的是a-z、A-Z和0-9这62个字符,把10进制的序号值转化为这个62进制的表示即可得到对应的短链接。

这个直接的想法非常简单粗暴,另外一个直观的想法是使用随机的方法生成长短链接的映射关系。每次进来一个长链接时就随机一个短链接来进行映射,如果通过数据库查询发现此短链接已经使用过,则重新进行随机直到产生一个未曾使用过的短链接为止。

由上面可知,纯粹在本地生成的短链接是没有作用的。因为短链接需要解析,需要跳转到短链接解析服务器,然后在服务器上查找对应的长链接,最后才可以进行对应的跳转。如果纯粹在本地生产的短链接,服务器上没有响应的数据,则是不能进行正常访问的。

缩我,高速云服务器
实时掌握推广动态
让您深入了解用户,提高推广转化率
联系我们
    1. 关注官方微信公众号
      联系客服
      常见问题
  • 公众号
    客服微信
  • 缩我短链接公众号 关注官方公众号
  • 联系客服