免费刷金币,请点击这里
TE社区 > 后端开发
客服QQ:1206116161

给大家分享一段Java生成短链接的代码

一年硬两次 于 2016-05-14 13:26:47 创建话题
(3759)
(4)
举报

想要生成短连接,  不用再网上调别人的API接口啦, 自己就能实现, 下面分享给大家一段代码片段;


public class ShortUrlGenerate {
	public static void main(String[] args) {
		// 长连接: http://www.kevin.com/abc.html
		// 生成短链接为: http://abc.cn/h1jGSC
		String sLongUrl = "http://www.kevin.com/abc.html";
		String[] aResult = shortUrl(sLongUrl);
		for (int i = 0; i < aResult.length; i++) {
			System.out.println(aResult[i]);
		}
	}
	private static final String sign = "8e2e2df910f844bdbcb531170c75b246";
	/**
	 * 生成 URL 的字符
	 */
	private static final String[] CHARS = new String[] { 
		"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
		"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L","M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
		"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
	};

	public static String[] shortUrl(String url) {
		String hex = MD5Util.getMD5(sign + url);
		String[] resUrl = new String[4];
		for (int i = 0; i < resUrl.length; i++) {
			// 把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算
			String str = hex.substring(i * 8, i * 8 + 8);
			// 这里需要使用 long 型来转换,因为Inteper.parseInt()只能处理 31 位 , 首位为符号位 ,
			// 如果不用long,则会越界
			long lHexLong = 0x3FFFFFFF & Long.parseLong(str, 16);
			String outChars = "";
			for (int j = 0; j < 6; j++) {
				long index = CHARS.length - 1 & lHexLong;
				outChars += CHARS[(int) index];
				lHexLong = lHexLong >> 5;
			}
			resUrl[i] = outChars;
		}
		return resUrl;
	}
}


  • 呆到深处自然萌
    - 03月04日 (0)

    啦啦啦啦啦啦,我是卖报的小行家


  • liulang
    - 2017年08月08日 (0)

    收藏了 谢谢

  • edison
    - 2017年07月27日 (0)

    MD5Util.getMD5() 没有这方法


  • fangandyuan
    - 2016年05月14日 (1)

    虽然暂时用不着, 但是好东西自然要收藏着的 ,  谢谢朋友了

扫码关注TE官方微博 扫码关注TE官方微博
HTML5 Canvas的事件处理介绍 帝国CMS自定义列表SQL调用方法 自己动手封装的 ajax .NET Core创建一个控制台(Console)程序 thinkPHP5.0框架简单配置作用域的方法 解决IntelliJ IDEA maven库下载依赖包速度慢的问题 Ajax请求中async false_true的作用分析 使用ajax异步提交表单的几种方法总结 JavaScript 以对象为索引的关联数组 HTML5学习笔记之History API mysql遇到load data导入文件数据出现1290错误的解决方案 PHP命名空间和自动加载类 javascript常用对话框小集 固定宽高的DIV如何绝对居中 最简单的防止ARP欺骗的方法 jQuery手风琴的简单制作 提高网页的效率 Use YSlow to know why your web Slow第1_2页 DEDECMS教程之静态模板类类文件 简单介绍Java垃圾回收机制 javascript中关于&& 和 表达式的小技巧分享 jquery验证手机号是否正确实例讲解 js 获取元素的具体样式信息getcss(实例讲解) Flutter进阶之实现动画效果(三) linux ls命令教程及ls命令使用方法 canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器) 跟我学习javascript的基本类型和引用类型 ko knockoutjs动态属性绑定技巧应用 JS使用eval()动态创建变量的方法 textarea不能通过maxlength属性来限制字数的解决方法 利用纯Vue.js构建Bootstrap组件 CentOS上搭建PPTP VPN及使用pptpsetup建立连接的方法 Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解 Bootstrap组件(一)之菜单 苹果电脑Mac打不开网页怎么办?Mac打不开网页的解决方法 PHPExcel内存泄漏问题解决方法 基于jquery实现页面滚动到底自动加载数据的功能 Vue.js中用webpack合并打包多个组件并实现按需加载 jsp实现购物程序 关于JavaScript语句后面的分号问题 JS小练习代码之二第1_2页 HTML头标签meta实现refresh重新定向 js自动闭合html标签(自动补全html标记) jquery1.9 下检测浏览器类型和版本的方法 JQuery控制radio选中和不选中方法总结 Symfony核心类概述 node.js抓取并分析网页内容有无特殊内容的js文件 Vue.js项目模板搭建图文教程 kmock javascript 单元测试代码 Java实现获取某年某月第一天_最后一天的方法 HTML5 实现的一个俄罗斯方块实例代码 如何确定Oracle数据库表重复的记录 Linux rpm命令参数使用大全(经典) node在两个div之间移动,用ztree实现 js简单倒计时实现代码 JS自动缩小超出大小的图片 js 动态生成json对象、时时更新json对象的方法 jqurey+Jscex打造游戏力度条 Oracle常用函数Trunc及Trunc函数用法讲解 JS中用childNodes获取子元素换行会产生一个子元素 老生常谈JQuery data方法的使用 JavaScript 无符号右移赋值操作 CSS实现弹簧效果的旋转加载动画 使用Lable控件输出九九乘法表 combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小 使用重绘项美化WinForm的控件 JS模拟实现ECMAScript5新增的数组方法 js实现对table动态添加、删除和更新的方法 javascript函数中参数传递问题示例探讨 AJAX(XMLHttpRequest.status)状态码 Python(Django)项目与Apache的管理交互的方法 nodejs实现套接字服务功能详解 Android、iOS和Windows Phone 三大操作系统的区别与市场分析(图文) iOS 动画实战之钓鱼小游戏实例代码 WoSign沃通SSL证书免费申请及账户设置教程 thinkPHP实现瀑布流的方法 JavaScript实现移动端轮播效果 js获取本机的外网_广域网ip地址完整源码 JS获得一个对象的所有属性和方法实例 Python的面向对象思想分析 oracle 字符串转成行 Nginx添加ngx-fancyindex模块的方法 IE系列的Css if hack条件语法 jQuery之DOM对象和jQuery对象的转换与区别分析 vue分类筛选filter方法简单实例 JavaScript获取当前运行脚本文件所在目录的方法 PHP静态调用非静态方法的应用分析 ThinkPHP调用百度翻译类实现在线翻译 Ruby的面向对象编程的基础教程 jquery删除数组中重复元素 在WordPress中实现评论头像的自定义默认和延迟加载 鲜为人知的CSS技巧10则 MAC Lion下识别PowerPC软件的方法 js实现按一下删除键删除整个单词附demo javascript实现将数字转成千分位的方法小结【5种方式】 ThinkPHP的L方法使用简介 html活用软字符连接符 Android 6.0区别U盘和SD卡设备的方法详解 Linux平台php命令行程序处理管道数据的方法 禁止WordPress自动替换半角标点符号的方法 教你用命令行查找ARP病毒母机 Ajax跨域访问Cookie丢失问题的解决方法 DedeCms V5.5 性能优化方法分享 js判断一个字符串是以某个字符串开头的简单实例 jQuery选择id属性带有点符号元素的方法 JS实现输入框提示文字点击时消失效果 js实现tab切换效果实例 PowerShell函数中使用必选参数实例 ASP.NET解决上传大文件问题的方法 ASP.NET MVC Layout如何嵌套 windows7下安装php的php-ssh2扩展教程 浅述iOS11 Xcode 9 按住command 单击 恢复到从前(直接跳转到定义) 通过学习bootstrop导航条学会修改bootstrop颜色基调 识别 MS SQL 各个版本的版本号的方法 PHP使用数组实现矩阵数学运算的方法示例 Centos7.3下Tomcat8的安装配置教程 网页排版应该考虑IE6的兼容性问题 jsp中使用javabean实例介绍 插件下载┊垃圾引用防御补丁(每小时自动换KEY,支持静态页面) 简化的CSS Reset 15套CSS重设实例 网站基于flash实现的Banner图切换效果代码 node.js中的fs.lstat方法使用说明 JavaScript实现区块链 VS2005 180天限制破解方法 利用nginx + node在阿里云部署https的步骤详解 destoon出现验证码不显示时的紧急处理方法 HTML Table 空白单元格补全的简单实现 Android仿新版微信浮窗效果 快速了解Python中的装饰器 thinkPHP控制器变量在模板中的显示方法示例 CSS实现光滑圆角效果 python 换位密码算法的实例详解 Extjs让combobox写起来简洁又漂亮 ToolTips JQEURY插件之简洁小提示框效果 PHP批量去除BOM头代码分享 vue组件父子间通信详解(三) 一种新的javascript对象创建方式Object.create() Z-Blog 留言评论显示IP地址和性能优化 Dell R730服务器6i阵列卡Raid5配置方法(热备) 网页设计关于表单输入框的技巧代码 巧解 JavaScript 中的嵌套替换(强大正则) JavaScript和jQuery制作光棒效果 mysql分页时offset过大的Sql优化经验分享 nodejs 子进程正确的打开方式 怎么选择Javascript框架(Javascript Framework) JavaScript“尽快失败”的原则实例详解 seajs模块压缩问题与解决方法实例分析 Python求两个list的差集、交集与并集的方法 ajax java 实现自动完成功能 CSS3使用border-radius属性制作圆角 详解vue-cli 构建Vue项目遇到的坑 使用Mootools动态添加Css样式表代码,兼容各浏览器 向asp.Net进发 数据库连接操作 Python实现购物系统(示例讲解) 来自国外的30个基于jquery的Web下拉菜单 Vue.js基础知识小结 MongoDB快速入门笔记(六)之MongoDB的文档修改操作 用Javascript实现Windows任务管理器的代码 给网站加入欢迎语音的源码 PHP中foreach()用法汇总 python对离散变量的one-hot编码方法 safari cookie设置中文失败的解决方法 ASP与Excel结合生成数据表和Chart图的代码 js 求时间差的实现代码 JavaScript实现cookie的写入、读取、删除功能 ASP小偷(远程数据获取)程序入门教程 javascript字符串与数组转换汇总 mysql 列转行,合并字段的方法(必看) bgiframe插件解决IE6 DIV档不住下拉选择框 SpringMVC程序简单实例 jQuery+php实时获取及响应文本框输入内容的方法 JavaScript实现构造json数组的方法分析 JavaScript SetInterval与setTimeout使用方法详解 Linux系统下安装phpmyadmin方法 js简单设置与使用cookie的方法 使用Ruby来编写访问Twitter的命令行应用程序的教程 分享几个CSS小众但炫酷的技巧 dedecms在IIS下不能生成HTML文件! jquery mobile的触控点击事件会多次触发问题的解决方法 jsp测试函数的运行速度方法 SpringBoot 动态定时器的使用方法 js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解 利用python如何处理nc数据详解 操作系统与硬件虚拟化的关系 Python+matplotlib实现华丽的文本框演示代码 sql 刷新视图 JavaScript实现的简单幂函数实例 Python批量修改文本文件内容的方法 正则表达式判断所填入号码的运营商js代码修改版 如何使用json在前后台进行数据传输实例介绍 linux中各类压缩包的整理 webstorm中vue语法的支持详解 Nodejs下DNS缓存问题浅析 nodejs个人博客开发第三步 载入页面 双系统怎么卸载 苹果Mac双系统图文卸载步骤 JS生成不重复随机数组的函数代码 VPS主机选购实记分享及相关经验总结 Android webview转PDF的方法示例 Vue使用json-server进行后端数据模拟功能 npm配置国内镜像资源+淘宝镜像的方法 BootStrap 动态添加验证项和取消验证项的实现方法
原始森林坐标网页模板.zip jQuery轻量级树状菜单插件代码.zip 可自定义刻度jQuery进度条.zip jQuery页面窗口拖动预览效果.zip jQuery按钮控制图片切换焦点图.zip jQuery多层图片视觉差移动特效.zip 平板电脑HTML5模板.zip 学生信息管理系统(SSH+EasyUI)---入门项目 主机域名服务商全站模板.zip jQuery网站页面加载进度条.zip Struts2+Hiberntate+Spring档案管理系统,数据库和包完整 绿色清新jQuery在线QQ客服.zip 微信小程序源码-摇一摇换文章 清爽宽屏响应式网站模板.zip net快速开发框架 EF MVC Bootstrap的通用后台管理 CSS3带动画效果的手风琴特效.zip jQuery显示字幕插件Captall.zip Java8 新特性视频教程 jquery满屏焦点图.zip 律师和法律机构HTML5模板.zip wordpress欢乐逛主题.zip WebSpider蓝蜘蛛网页抓取 v5.1 wordpress淘宝客i-sijin主题下载.zip 个性设计css+xhtml模板.zip 分享网络收集100个常用的jquery特效和插件 jQuery UI图标回收站.zip jquery+css3摇摆字母.zip CSS3实现透明白块漂浮动画特效.zip 七夕情人节PSD素材.zip jQuery自由拖拽图片点击展开特效.zip 漂亮的网站后台登陆模板.zip jQuery+CSS3实现动态提示信息条.zip 大气企业关于留言页面模板.zip 【PHP源码】MG2相册程序 v0.5.1 汉化版_mg2v051.zip html5+css3学习模板 jquery双重滚动效果.zip jquery三维立体图片展示.zip 汽车公共交通公司网站模板.zip jQuery单滚轮老虎机抽奖插件.zip 毛线批发企业网页模板.zip 家居室内装修网站模板.zip 纯css左侧垂直商品分类菜单.zip jQuery将元素固定在容器中代码.zip JS+CSS3角度页面视图导航.zip 轻量级jQuery倒计时插件.zip 家居吸尘器产品企业模板.zip jQuery垂直多级导航菜单代码.zip jQuery左侧大图右侧小图切换代码.zip 纯CSS右下角固定微信二维码代码.zip jQuery鼠标经过显示下拉菜单特效.zip jquery密码强度智能判断特效.zip 商务公司网页模板下载.zip jQuery仿IOS滚动插件Nicescroll3.zip 整齐边框线条APP官网模板.zip jQuery+CSS3人物介绍导航提示效果.zip CSS3扁平化风格联系表单.zip html5线条传输能量动画特效.zip 对话框动画 草地花卉CSS网页模板.zip jquery自动滚动切换图片通栏特效.zip jquery多样式下拉菜单.zip 燕麦种植招商网站模板.zip 微信小程序 - 校内新闻大图.zip 浅蓝色运动健身房网站模板.zip S2SH框架整合实现开源博客系统 jQuery带QQ客服下拉返回顶部代码.zip hardrive投资组合网站模板.zip html5版街头霸王游戏.zip 【ASP.NET源码】HSORT电子报纸管理系统 v8.0 Build 090831_newpaper.zip jquery图文内容自动播放.zip js 3D图片叠加旋转切换.zip jQuery手机端注册登录页面代码.zip 微信小程序源码-美食菜谱 微信小程序源码-五险一金计算 积木搭建房子CSS3特效.zip jquery单张图片放大效果.zip 教育培训机构网站模板.zip 太阳能发电企业网站模板.zip 黄色创意家居HTML5模板.zip 【ASP.NET源码】选课系统(南昌大学毕业设计)及论文_xkdoc.zip jQ渐变隐藏按钮焦点图.zip jQuery多选项卡图片切换.zip 仿GoMobile触屏版html5响应式手机app网站模板-懒人模板.zip 【ASP.NET源码】eWebArticle(极限文章管理系统) v1.0 (.NET版)_ewebarticlenet.zip 【ASP.NET源码】怀旧动画全站_haha.zip 金满仓WEB进销存3.0 完整版,数据库直接附加使用 忍者跑酷的游戏完整项目源码 灰色商务公司网站模板.zip 机械工业公司网站模板.zip jQ品牌logo列表选项卡切换.zip HTML5自适应办公网站模板.zip css3透明滑动手风琴.zip jQuery树形菜单打开标签代码.zip 简单大气婚庆网站模板.zip jquery鼠标滑过显示图片.zip jQuery响应式下拉导航菜单插件megamenu.zip 商城左侧分类jquery菜单.zip 【ASP.NET源码】蓝驿轨迹ajax+xml实现省市区无刷新联动源码_citychange.zip Struts2+Spring4+MyBatis3 最新包集成发布就可运行 jQuery自适应图片大小相册代码.zip Java图形图象处理源码下载 jQuery手机移动端日历日期选择.zip 微信小程序源码-借款申请 基于Netty的RPC架构实战演练视频教程 jQuery创建动态事件.zip 蓝色带微信二维码QQ客服代码.zip html5 echarts仪表盘动画特效.zip jQuery带动画全屏图文切换.zip CSS3图片悬停放大动画.zip jquery天猫商品分类导航.zip jquery鼠标悬停变暗突出显示特效.zip 正方形索引按钮jquery幻灯片.zip CSS3实现可缩放显示菜单.zip ssm框架整合redis 纯CSS3实现灰白色下拉导航.zip CSS3和HTML5图片加工前后对比代码.zip servlet api SUN官方网中文版 微信小程序源码-今日更新新闻小站 永远跟党走PSD素材下载.zip HTM5 Canvas实现3D飞机飞行动画特效.zip jquery左右回弹滑动幻灯片.zip jQuery炫酷鼠标滑过图片显示遮罩层特效.zip Java web开发教学任务管理信息系统源代码下载 Android 短信接口 使用资料 黑色个人主页css模板.zip 棕色公文包设计网站模板.zip JS图片循环放大.zip jquery仿淘宝视频焦点图.zip 微信小程序源码-仿网易云音乐 宽屏扁平化建站公司模板.zip 微信小程序 - 图片上传实现(java).zip jQuery翻转倒计时定时器插件.zip jQuery响应式下拉导航菜单项.zip jQuery右侧隐藏收缩在线客服.zip CSS3实现太阳星系运转特效.zip 微信小程序源码-分答 手机端微信朋友圈微信分享代码.zip 纯CSS3卡通大象走路动画.zip 【PHP源码】BayBbs v4.5.0(原北雨论坛系统TXT版)_baybbs.zip jQuery 3D自由立体旋转.zip 大米农业农产品企业网站模板.zip jQuery彩色计算器代码.zip 品牌广告css网站模板.zip 黑色CSS3域名停放页模板.zip 微信小程序 - 漂流瓶.zip jQuery+CSS3多功能下拉菜单.zip 志远信息管理系统 v2.0 微信小程序源码-急救应急处理 jQuery瓷砖切换效果焦点广告jFancyTile.zip jquery弹性下拉图标菜单.zip 微信小程序源码-其他 HTML5+CSS3响应式垂直时间轴 css3网页加载动画图标下载.zip SSH框架整合增、删、改、查、登录 jQuery万年历日历设置代码.zip 微信小程序 - 新闻类.zip 棕色家居行业网站模板.zip jQuery快播网站焦点图.zip HTML5手机端问卷答题测试代码.zip jQuery斜式滑动导航.zip LayerSlider带动画效果幻灯片.zip 音乐播放器MusicList 仿东湖社区DiscuzX2.0风格模板.zip 给图片加相框jquery特效.zip 微信小程序源码-搞笑 jq穿梭滑动幻灯片.zip 微信小程序源码-阅享小程序(阅读评价类) jquery响应鼠标飞出式菜单效果.zip 企业团队展示网站模板.zip 生意组合CSS网页模板.zip 黑色木纹背景html5模板.zip jQuery大气图标选项卡切换代码.zip JSP超市进销存管理系统 Haineng水果系统 婚礼博客CSS网页模板.zip jquery tool实现windows桌面效果.zip php apache mysql memcache redis mongodb2 jQuery区分大小写验证码输入框.zip js表格内容拖拽效果.zip 书籍翻页效果的demo 冬季运动CSS网页模板.zip 酒店官网网站模板下载.zip dubbox需要用到的jar jquery+css3垂直手风琴.zip 【PHP源码】Discuz!论坛系统 7.0.0 简体GBK 独立安装包 Build 20090821_discuz_7.0.0_sc_gbk.zip jQuery扁平UI设计垂直手风琴代码.zip 图片编辑HTML5网页模板.zip html5植物生长效果.zip 海外留学培训HTML5网站模板.zip CSS3实现蟠桃树蟠桃摇晃动画特效.zip 【PHP源码】手机在线人工冲值 v1.0_shouji.zip 平滑缩放jQuery图片切换效果.zip 微信小程序源码-车源宝 jQuery Select下拉框美化插件.zip Material Design按钮点击波特效.zip 随滚动条滚动的在线客服工具条.zip CSS3墨绿色下拉菜单.zip 纯CSS3模仿苹果官网导航.zip 【SSM】spring mvc+mybatis+Shiro+dwz实现的通用后台系统 黑色培训公司时间轴模板.zip
举报X