zoukankan      html  css  js  c++  java
  • 短地址

    一、短地址简介

    短地址(又叫做短网址 short URL)是为了让一个很长的网站链接缩短为一个很短的链接。

    之所以产生短地址,是因为微博内有字数限制,短地址就是为了配合微博内的字数限制而产生的。现在大部分的微博、手机邮件体型等地方已经有很多应用模式了,并且占据一定的市场。

    二、短地址算法原理

    算法一:

      1、将长地址 MD5生成 32位签名串,分为4 端,每段 8个字节;

      2、将这四段循环处理,取8 个字节,将其看作是 16进制串与 0 * 3FFFFFFF(30位1)与操作,即超过 30位忽略处理;

      3、这 30位分成 6段,每 5位的数字作为字母表的索引取得特定字符,依次进行获得 6位字符串;

      4、总的 MD5串可以获得 4个6位串,取里面任意一个就可以作为这个长网址的短URL地址;

    算法二:

      a-z,A-Z,0-9,这62位取6位组合,可产生500多亿个组合数量。把数字和字符组合做一定的映射,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。

      把长网址存入数据库,取返回的id,找出对应的字符串,例如返回ID为1,那么对应上面的字符串组合就是bbb,同理 ID为2时,字符串组合为bba,依次类推,直到到达64 种组合后才出现重复的可能,所以如果用上面的 62 个字符,任意取 6个字符组合成字符串的话,数据存储量达到 500多亿后才会出现重复的可能。

    三、实际操作

    转换短地址并不需要自己一点一点去计算转换,可以借助转换短地址网页满足转换的需要。

    较为常用而且方便的转换网站:https://dwz.cn/


    参考资料:https://baike.baidu.com/item/%E7%9F%AD%E5%9C%B0%E5%9D%80/2760921?fr=aladdin

  • 相关阅读:
    MySQl数据约束练习
    MySQL查询实例
    网络通信协议简介(TCP与UDP)
    数据类型转换
    C++编译过的C代码为什么要用extern C
    hashtable
    以RB-tree为底层机制的几个关联式容器
    红黑树(RB-Tree)
    slist
    deque
  • 原文地址:https://www.cnblogs.com/nyw1983/p/12008072.html
Copyright © 2011-2022 走看看