短链接的算法是什么,短链接生成的原理是什么,很多伙伴都在资讯这个问题。那么今天变色龙短链小编就帮大家带来详细的介绍,相信你看了之后就会明白的。
短链接算法
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进制的表示即可得到对应的短链接。
这个直接的想法非常简单粗暴,另外一个直观的想法是使用随机的方法生成长短链接的映射关系。每次进来一个长链接时就随机一个短链接来进行映射,如果通过数据库查询发现此短链接已经使用过,则重新进行随机直到产生一个未曾使用过的短链接为止。
由上面可知,纯粹在本地生成的短链接是没有作用的。因为短链接需要解析,需要跳转到短链接解析服务器,然后在服务器上查找对应的长链接,最后才可以进行对应的跳转。如果纯粹在本地生产的短链接,服务器上没有响应的数据,则是不能进行正常访问的。
变色龙短链平台各工具使用方法及功能汇总 短链接 活码 微信外链 抖音卡片