在 suō.run,我们把冗长 URL 压缩成四五个字符的“暗号”,看似魔术,实则是一场精心编排的算法之舞。以下,为你拆解舞步。
一、MD5 之舞:不可逆的优雅转身
1. 在原始链接尾部悄悄缀上一串只有我们知晓的密钥,再送入 MD5 熔炉。
2. 128 位哈希被切成四段 32 位片段,每段都是候选“暗号”。
3. 取低 30 位,与 0x3FFFFFFF 相与;再与 0x0000003D 相与,得索引,从 62 字符表摘取字符;右移 5 位,循环 6 次,拼出 6 位短码。
4. 四选一,落库。MD5 不可逆,短码不可反推,安全而克制。

二、进制之舞:极简递增的秩序
若嫌 MD5 华丽,可用更朴素的舞步:
- 全局自增 ID → 62 进制(0-9、a-z、A-Z)→ 短码。
- 长度随量级自然生长,逻辑透明,却需守护自增器不被窥探。
三、随机之舞:概率的即兴
- 每次掷骰子生成 6 位随机短码;若冲突,再掷,直至唯一。
- 优雅,却需数据库索引护航,冲突概率随规模升高而微涨。

四、云端之舞:从暗号到长链
短码仅是序曲。访问 suō.run/xxxxx 时:
1. 边缘节点瞬时捕获请求;
2. 毫秒级查询映射表;
3. 301/302 重定向,携统计日志悄然落地。
若本地离线生成短码而无云端记录,再精巧的暗号也只是一串无意义的符号。
于是,长链在 suō.run 的舞台上被折叠、被记录、被送达;用户只看见一次轻盈的跳转,而我们保存了每一次心跳。