在網(wǎng)上看到如下的短網(wǎng)址算法 1)將長網(wǎng)址md5生成32位簽名串,分為4段,每段8個字節(jié); 2)對這四段循環(huán)處理,取8個字節(jié),將他看成16進(jìn)制串與0x3fffffff(30位1)與操作,即超過30位的忽略處理; 3)這30位分成6段,每5位的數(shù)字作為字母表的索引取得特定字符,依次進(jìn)行獲得6位字符串; 4)總的md5串可以獲得4個6位串;取里面的任意一個就可作為這個長url的短url地址;實現(xiàn)的版本也很多,但是我不明白為什么要這樣實現(xiàn),為什么要超過30位要忽略,為啥要生成四個串?如果生存四個串的話,直接把md5分成4段然后做base62轉(zhuǎn)換不行么?
關(guān)于短網(wǎng)址算法的問題
慕勒3428872
2019-04-16 20:26:51