黑马模板网专注企业网站模板制作,包括企业pbootcms网站模板,静态网页模板,网站源码下载,HTML网站模板等等。
免责声明:本站所有资源(模板、图片)搜集整理于互联网或者网友提供,仅供学习与交流使用,如果不小心侵犯到你的权益,请及时联系我们删除该资源。
短链接生成
这是一个基于.NET开源的短链生成及监控系统,它包含了在线生成短链、短链跳转长链、支持短链访问次数以及Web监控页面,可以帮助我们更容易地生成短链、监控短链!
功能介绍
- 基于.NET 6开发的后端及Web管理界面
- 支持自定义短链长度
- 支持在线短链生成及跳转长链
- 支持实时统计短链访问次数
- 支持多种持久化方式:MySQL/PostgreSQL/SqlServer(2012及以上)
- 傻瓜式配置,开箱即用
截图预览
登录页
首页Dashboard
列表页
短URL生成原理
标准Base64编码表如下
其中“+”和“/”在 URL 中会被编码为“%2B”以及“%2F”,需要进行再编码,因此直接使用标准 Base64 编码进行短URL 编码并不合适,所以,我们需要针对 URL 场景对 Base64 编码进行改造,Base64 编码表中的 62,63 进行编码移除,更新为Base62编码。
混淆加密算法设计
1、将标准编码随机打乱
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
举例:
打乱成:s9LFkgy5RovixI1aOf8UhdY3r4DMplQZJXPqebE0WSjBn7wVzmN2Gc6THCAKhaut
2、6位长度标准编码与打乱后编码的对应关系
可以看出,虽然打乱了,但还顺序性还是很明显
3、将前面补0再倒转,由于6位长度最大11位,为了避免倒转后超过该数值,因此补到10位.
恢复混淆解密算法设计
将请求收到的短链Key根据打乱后的Base62编码转成十进制数,补0到10位,然后倒转就得到原来的短链Id