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

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

一年硬两次 于 2016-05-14 13:26:47 创建话题
(3748)
(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官方微博
jsp实现购物程序 Vue中v-for的数据分组实例 黑客如何破坏杀毒软件 sql server 2000阻塞和死锁问题的查看与解决方法 MySQL闪回(flashback)原理与实战 基于jquery的横向滚动条(滑动条) CSS教程 汇总让IE6崩溃的几种方法 JS仿QQ好友列表展开、收缩功能(第一篇) js window.onload 加载多个函数和追加函数详解 苹果电脑Mac App Store中更新或下载程序为什么总是失败?如何解决? jquery原创弹出层折叠效果点击折叠弹出一个层 js获得当前时区夏令时发生和终止的时间代码 XHTML与HTML之间的区别 vue打包后显示空白正确处理方法 linux finger命令参数及用法详解(linux查看用户个人信息) HTML5调用手机摄像头拍照的实现思路及代码 js交换排序 冒泡排序算法(Javascript版) XSS测试语句大全 php preg_filter执行一个正则表达式搜索和替换 Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0 Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法 JavaScript在控件上添加倒计时功能的实现代码 jquery 关于event.target使用的几点说明介绍 Javascript基于对象三大特性(封装性、继承性、多态性) js实现精确到秒的日期选择器完整实例 再谈javascript常见错误及解决方法 “一种少见的跨目录写webshell方法 ”的文章的分析与见解 JavaScript 在线压缩和格式化收藏 smarty表格换行实例 jquery ui resize 中border-box的bug修正 DEDECMS 获取当前文档地址 destoon调用企业会员公司形象图片的实现方法 Discuz! 中实现不同版块使用不同的模板文件的方法 thinkphp视图模型查询提示ERR 1146 Table 'db.pr_order_view' doesn't exist的解决方法 如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#) jQuery中[attribute^=value]选择器用法实例 canvas如何绘制钟表的方法 JBuilder 2005单元测试之慨述 Vue.js教程之计算属性 jQuery animate easing使用方法图文详解 Android开发基于Drawable实现圆角矩形的方法 JS代码实现百度地图 画圆 删除标注 node.js实现微信JS-API封装接口的示例代码 iOS读取txt文件出现中文乱码的解决方法 SWT(JFace)体验之StyledText类 解决Linux下Tomcat向MySQL插入数据中文乱码问题 mysql自动定时备份数据库的最佳方法(windows服务器) 使用Html5实现异步上传文件,支持跨域,带有上传进度条 Mysql数据库绿色版安装教程 解决系统错误1067的方法 ThinkPHP公共配置文件与各自项目中配置文件组合的方法 详解MySQL双活同步复制四种解决方案 把json格式的字符串转换成javascript对象或数组的方法总结 Python实现读取邮箱中的邮件功能示例【含文本及附件】 iOS消息推送原理及具体实现代码 css中position fixed实现div在窗口上下左右居中 vue2.0+webpack环境的构造过程 在CentOS系统上安装Eclipse的教程 Java多线程编程之限制优先级 bootstrap3 兼容IE8浏览器! 实例学习JavaScript读取和写入cookie JQuery UI皮肤定制 用JS提交参数创建form表单在FireFox中遇到的问题 jQuery实现点击弹出背景变暗遮罩效果实例代码 正则表达式基础教程 regular expression第1_2页 iOS实现自动循环播放的banner实例详解 使用requirejs模块化开发多页面一个入口js的使用方式 苹果公司推出的新编程语言Swift简介和入门教程 Python 实现引用其他.py文件中的类和类的方法 jQuery获取table下某一行某一列的值实现代码 Sql server中内部函数fn_PhysLocFormatter存在解析错误详解 详谈js对url进行编码和解码(三种方式的区别) 浅谈在Vue-cli里基于axios封装复用请求 ASP.NET MVC4 Razor模板简易分页效果 PHP身份证校验码计算方法 SQL Server DBA日常检查常用SQL JavaScript通过select动态更换图片的方法 ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等) SQL Server实现split函数分割字符串功能及用法示例 JS基础教程——正则表达式示例(推荐) JavaScript函数获取事件源的小例子 ASP.NET 5升级后如何删除旧版本的DNX javascript使用定时函数实现跳转到某个页面 详解python之配置日志的几种方式 基于asp.net下使用jquery实现ajax的解决方法 Angular企业级开发——MVC之控制器详解 通过syntaxhighlight实现帝国cms代码高亮_语法高亮(一) Ubuntu系统下用命令行快速打开各类型文件的方法(xdg-open) jQuery中outerHeight()方法用法实例 在父页面得到zTree已选中的节点的方法 Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例 js特殊字符过滤的示例代码 教你五分钟实现Android超漂亮的刻度轮播控件实例教程 CentOS服务器如何添加永久静态路由? mac终端删除文件失败该怎么办? js实现仿爱微网两级导航菜单效果代码 php 如何禁用eval() 函数实例详解 zepto与jquery的区别及zepto的不同使用8条小结 linux下 如何修改命令行提示符路径提示符路径长度 firefox事件处理之自动查找event的函数(用于onclick=foo()) JS判断页面是否出现滚动条的方法 Android中Dialog自定义上下文花式菜单 jquery仿QQ登录账号选择下拉框效果 JS脚本实现动态给标签控件添加事件的方法 Yii2实现增删改查后留在当前页的方法详解 Mac所有的DS_Store文件如何删除以节省内存 sqlldr装载数据实现代码 Linux httpd(apache)启动失败 解决办法 .NET程序集引用COM组件MSScriptControl遇到问题的解决方法 js实现获取鼠标当前的位置 ruby 杂项 jQuery实现的多屏图像图层切换效果实例 jQuery zclip插件实现跨浏览器复制功能 Css样式--背景样式详解 javascript列表框操作函数集合汇总 node.js cookie-parser 中间件介绍 Ajax实现跨域访问的三种方法 Python之Django环境搭建教程(MAC+pycharm+Django++postgreSQL) asp.net 开发的一些常用技巧 python中的变量如何开辟内存 Mac下MySQL初始化密码操作 用python结合jieba和wordcloud实现词云效果 Java实现微信网页授权的示例代码 json对象转字符串如何实现 js实现九宫格拼图小游戏 SQL语句详解 MySQL update的正确用法 MVC 5 第一章 创建MVC 5 web应用程序 AngularJS入门教程之过滤器用法示例 wordpress顶部空白解决方法分享 AJAX 异步传输数据的问题 JS基础随笔(菜鸟必看篇) PHP浮点数的一个常见问题 ASP wsImage组件添加水印的实用代码 Python模块学习 re 正则表达式 EasyUI 中combotree 默认不能选择父节点的实现方法 中文用户名的js检验正则 JavaScript使用readAsDataURL读取图像文件 怎样使用Python脚本日志功能 UTF-8和GB2312网页编码 浅析java异常栈 css vertical-align属性的一些理解与认识(二) text-top篇 Javascript中的数学函数 JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题 在Linux终端中查看公有IP的方法详解 利用js实现禁止复制文本信息 简单讲解Linux的文件系统及相关的挂载命令 基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用 靠我们自己的力量把IE6推向灭亡 JavaScript_ECMA5数组新特性详解 ASP语法高亮类代码 scrapy爬虫完整实例 Ubuntu Linux 7.04QQ、MSN 安装和使用方法 基于iframe实现ajax跨域请求 获取网页中ajax数据 JQuery中clone方法复制节点 PHP防止跨域提交表单 jQuery Dom元素操作技巧 CentOS 挂载NTFS分区的两种方法 jquery datatable后台封装数据示例代码 js中的json对象详细介绍 在一个页面重复使用一个js函数的方法详解 那些精彩的JavaScript代码片段 tornado 多进程模式解析 原生JS实现自定义滚动条效果 AngularJs ng-change事件_指令的用法小结 Vue.js -- 过滤器使用总结 java实现在SSM下使用支付宝扫码支付功能 谈谈我对正则表达式的认识 php选择排序法实现数组排序实例分析 js 判断附件后缀的简单实现方法 Python3使用SMTP发送带附件邮件 jQuery实现简单的手风琴效果 Asp.Net Core轻量级Aop解决方案:AspectCore ajax异步刷新实现更新数据库 JSP页面上用下横线代替文本框效果的代码 PHP中SQL查询语句的id=%d解释(推荐) ASP.NET控件之RadioButtonList详解 使用getBoundingClientRect方法实现简洁的sticky组件的方法 将nodejs打包工具整合到鼠标右键的方法 谈谈如何在ASP.NET Core中实现CORS跨域 使用phonegap创建联系人的实现方法 利用JQuery直接调用asp.net后台的简单方法 JavaScript实现在页面间传值的方法 在模板页面的js使用办法 ASP.NET笔记之 图库权限设置的方法 Android嵌套滚动NestedScroll的实现了解一下 PHP开发中常用的十个代码样例 Objective-C编程中语句和变量的一些编写规范建议 简单实现js浮动框 基于jquery实现的定时显示与隐藏div广告的实现代码 asp.net导出excel数据的常见方法汇总 纯CSS实现波浪移动效果的示例 javascript删除字符串最后一个字符 详解JavaScript中数组和字符串的lastIndexOf()方法使用 Global.asax的Application_Error实现错误记录_错误日志的代码 mvc 、bootstrap 结合分布式图简单实现分页 JS实现的5级联动Select下拉选择框实例 Windows8.1和Ubuntu14.04双系统卸载Ubuntu的方法 Js callBack 返回前一页的js方法 java设计模式之外观模式(Facade) Android开发实现应用层面屏蔽状态栏的方法小结 html在线编辑器的更新[2006-05]
个人写真网站模板下载.zip 首页flash焦点图特效.zip 多款不同样式jQuery日历插件.zip jQuery向下弹出遮罩图片相册代码.zip java 网盘源码 struts+spring+hibernate 纯css3实现iphone表单风格.zip js银行卡号格式输入框.zip js+flash焦点图特效.zip 垃圾博客HTML网页模板.zip jquery鼠标悬停随机显示字符特效.zip spring mvc+spring整合cxf服务端和客户端之间访问(jaxws与jaxrs的使用) js select选中显示不同表单内容.zip 滨海城市旅游景区网站模板.zip jQuery页面步骤引导新手代码.zip 鼠标悬停文字旋转动画导航代码.zip jQuery HTML表格生成Excel文件插件.zip 【PHP源码】jsmin v1.1.1.php_jsmin.zip 多图上传可拖拽jQuery特效.zip jQuery花瓣网毛玻璃模糊背景特效.zip jQuery日期和时间插件DateTimePicker.zip CSS3制作文字烟雾散开动画特效.zip 【ASP.NET源码】游戏币下单系统_yxxd.zip HTML5多角度响应式全屏切换特效.zip jQuery购物抢购时间轴倒计时代码.zip 微信小程序 - 快递瞄r.zip jQuery Select下拉框美化特效.zip win8扁平风格网站侧边栏在线客服.zip 简洁白色风格HTML5模板.zip 啤酒代理商网站模板.zip ssh2框架-struts2+hibernate4+spring3登录+注册+拦截器+分页 CSS3鼠标划过样式导航菜单代码.zip 韩国食物模板.zip css鼠标悬停图片高亮效果.zip 仿折800移动触屏版手机wap购物网站模板.zip CSS3实现古典纸扇动画特效.zip jQuery四格选项卡图片切换.zip 【ASP.NET源码】Asp.net校友录(同学录)系统源码_xiaoyoulu1.1_51.zip 天气预报界面小部件模板.zip 【PHP源码】因特达Access在线管理工具 v9.0_ydacc.zip 个人投资组合web网站模板.zip HTML5星空夜空背景登录界面模板 【PHP源码】一起推网页互动联盟EachPush v1.4.2_eachpush_1.4.2.zip 3D幻灯片jquery特效.zip 【PHP源码】零距离投票系统VoteZ v1.5 PHP版_votezphp15.zip 大气商务公司HTML模板.zip JS图片背景全屏代码.zip 司法机关html5网站模板.zip 爱心互助公益网站模板.zip 蓝色响应式旅游网页模板.zip 新闻投稿发布网站模板.zip jQuery数字滚动更新次数代码.zip 腾讯视频+站酷jQuery导航.zip 微信小程序源码-通乐居外卖 绿色插画师响应式网站模板.zip 【ASP.NET源码】军长站内搜索引擎源码_fileso.zip 微信小程序源码-实时校园巴士(含PHP后端) 微信小程序源码-音乐上下首选择 简单清爽企业网站模板.zip 漂亮的bootstrap后台管理模板 CSS3卡通人物奔跑动画特效.zip 黄色星星CSS网页模板.zip 基于ssm框架实现登录及数据导出小例子 HTML5二手房源网站模板下载.zip 深灰色教育行业网站模板.zip 鼠标经过弹出图片信息.zip 橙色婚纱相框模板下载.zip 黑色扁平风格CSS网页模板.zip HTML5 SVG可爱笑脸动画.zip jQuery全年日历工作考勤表代码.zip jQuery+CSS3触摸优化画廊.zip 意大利美食餐馆网站模板.zip html5鼠标悬停图片动画展示效果.zip 【ASP.NET源码】青岛房产网 2008 (C#.net+Sql server)_qdhouse.zip 网站正在施工中模板.zip html5马赛克图片幻灯片.zip CSS3 SVG网页加载图标动画特效.zip html5 canvas圆形进度条动画特效.zip 【PHP源码】域名停放小程序_domain park.zip 微信小程序 - 拉勾.zip jQuery方向键控制翻页插件.zip echarts地图等相关js文件 源码下载 jQuery datePicker日历控件.zip 创意方块跳动CSS3加载动画.zip jQuery鼠标滑过图文切换.zip 3D切换效果jQuery焦点图.zip jQuery metro风格的文字标签云.zip jQuery游戏网站手风琴切换代码.zip IntelliJ IDEA下SpringBoot+Maven+springdata JPA+EasyUI整合实现增删改查及分页入门项目实例 jQuery 3D图片切换插件iPresenter.zip 164个完整的Java代码 微信小程序 - 美容小程序模板.zip jQ波浪动画导航菜单.zip 咨询服务公司网站模板下载.zip 中国人民银行--WebLogic Server配置 创意设计公司网站模板.zip jQuery仿百度登录窗口弹出层代码.zip 21CN官网jQuery导航.zip Bootstrap多彩渐变进度条特效.zip 兼容手机端HTML5企业模板.zip HTML5后台模板Steal My Admin css3立体旋转菜单.zip HTML5+CSS3内置功能按钮提示框.zip jQuery渐变切换Banner焦点图.zip 对话框动画 jQuery鼠标经过变化过渡效果.zip 仿聚美优品手机wap网站模板.zip 商业投资CSS3模板.zip html5手机端城市下拉选择代码.zip Struts2+Hibernate+Spring实现BBS论坛系统源码下载 QQ空间wordpress主题.zip css3实现灯光高亮时钟效果.zip SpringBoot整合SSM(含数据库),含有代码生成 【ASP.NET源码】ASP.NE电子商铺系统_netshop.zip 微信小程序 - 小青蛙过河.zip 服务器故障排查网站模板.zip html5 echarts仪表盘动画特效.zip jQuery淡出淡入带缩略图幻灯片.zip 企业产品展示网站模板.zip Asp.net通用OA系统 css3高亮渐变导航按钮.zip HTML5 SVG Loading加载特效.zip 绿色大气教育网站模板.zip 微信小程序源码-外卖带bmob后端 css3鼠标触碰图标渐变效果.zip 徒步登山运动HTML5模板.zip jquery.jqpagination.js分页插件.zip 【PHP源码】免费图片上传站程序_upload_code.zip jquery幻灯片定制插件.zip jQuery清除插件addclear.zip 【PHP源码】Eazy Portal v1.0 汉化版_eazyportalv1.zip jquery常见问答faq特效.zip 快快游戏网jQ左右轮播焦点图.zip 【PHP源码】淘宝皇冠店铺大全 v2.0_taobao.zip 微信小程序源码-【精品】旅游类 jquery拼图相册展示.zip 微信小程序 - 易打卡签到.zip HTML5带表盘和数字刻度时钟代码.zip 非主流个人博客网站模板.zip 微信小程序源码-品牌电梯 微信小程序源码-猎手搜索(含后端) 苹果APP官网下载模板.zip jQuery鼠标滑过日历弹出备注信息代码.zip 微信小程序源码-治疗师 全屏图片Gallery相册模板.zip JS实现文字上下滑动导航.zip jquery功能强大的提示信息特效.zip HTML5+CSS3滑块动画菜单.zip css3 animation动画制作点击波特效.zip jQuery带标题文字右侧选项卡.zip jquery性感女性图片广告.zip jQuery响应式焦点图.zip 【PHP源码】DedeCms V3.0.1正式版Build20060811_dedecmsv3_0_1.zip 网上眼镜商城网页模板.zip 灰白色建筑设计方案模板.zip CSS3旋转动画地球周转特效.zip adhome企业Joomla模板.zip jQuery可生成循环流程图表特效.zip [Android项目源码] 安卓GridView使用 jQuery可折叠图标菜单.zip jsp鲜花花店购物商城mysql jQuery图片弹出翻转特效代码.zip html5+css3仿Twitter注册页.zip Tooltip验证提示HTML5表单.zip Android 完美左右无限循环Viewpager广告轮播 jQuery输入框回车添加标签特效.zip 炫彩视差设计单页模板.zip zol首页flash3屏焦点图代码.zip php windows下安装mongodb服务 eNews新闻发布系统v1.0 基于jquery登录框特效.zip jQuery动画下拉导航菜单代码.zip jQuery图片选中突出标签幻灯片代码.zip 【ASP.NET源码】版纳武林DIY企业建站系统_enterprise1.0.zip 儿童英语美术家园网站模板.zip jQuery可视化在线绘图工具代码.zip jquery图片等比例缩放特效.zip HTML5抽奖页面16.zip 环形切换效果jQuery幻灯片.zip jQuery叶子Tab选项卡.zip html5双十二手机抽奖代码.zip 移动端左右+自动滚动jQuery插件.zip 框架首页easyui,bootstrap例子展示。 仿QQ音乐jQuery抽奖转盘代码.zip css3黑客代码效果.zip 公司产品展示模板.zip Spring3.1 MongoDB整合(含jar包、配置文件、实例) 运动鞋网上专卖店模板.zip mui搜索列表自定义 fregment的快速使用框架 【PHP源码】Sablog-X v1.6 正式版 Build 20070820_sablog-x1.6.zip Android 动画实例(包含帧动画、补间动画、属性动画) 【PHP源码】phpcms2007 房产模块 Beta 1_phpcms2007_house.zip 凌云新闻系统(LyNews)v1.0 Android屏幕适配之Google百分比布局库的扩展 一个方法实现图片选择 Joomla scififinal.zip HTML5相册插件ma5gallery.zip js输入关键词创建标签代码.zip jquery省市区县3级联动.zip jQuery圆形进度条倒计时插件.zip
举报X