原文:仿新浪微博 短链接地址生成工具 ShortUrlGenerator.java

源代码下载地址:http://www.zuidaima.com/share/1550463378934784.htm

仿新浪微博 短链接地址生成工具

ShortUrlGenerator.java

String sLongUrl = "http://www.zuidaima.com/share/1550463378934784.htm"; // 3BD768E58042156E54626860E241E999

String[] aResult = shortUrl(sLongUrl);

// 打印出结果

for (int i = 0; i < aResult.length; i++) {

System.out.println("[" + i + "]:::" + aResult[i]);

}

/ 控制台输出如下: [0]:::7nUFJn [1]:::f6Zzy2 [2]:::j6jmQb [3]:::2eAjea

/**    Copyright 2012-2013 The Haohui Network Corporation*/
package com.zuidaima.haohui.common.utils;/*** @project baidamei* @author cevencheng <cevencheng@gmail.com> www.zuidaima.com* @create 2012-11-10 上午1:15:05*/
public class ShortUrlGenerator {/*** @param args*/public static void main(String[] args) {// 长连接: http://www.zuidaima.com/share/1550463378934784.htm// 新浪解析后的短链接为: http://t.cn/h1jGSCString sLongUrl = "http://www.zuidaima.com/share/1550463378934784.htm"; // 3BD768E58042156E54626860E241E999String[] aResult = shortUrl(sLongUrl);// 打印出结果for (int i = 0; i < aResult.length; i++) {System.out.println("[" + i + "]:::" + aResult[i]);}}public static String[] shortUrl(String url) {// 可以自定义生成 MD5 加密字符传前的混合 KEYString key = "wuguowei";// 要使用生成 URL 的字符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", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "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"};// 对传入网址进行 MD5 加密
//      String sMD5EncryptResult = (new CMyEncrypt()).getMD5OfStr(key + url);String sMD5EncryptResult = MD5.md5Encode(key +  url);String hex = sMD5EncryptResult;String[] resUrl = new String[4];for (int i = 0; i < 4; i++) {// 把加密字符按照 8 位一组 16 进制与 0x3FFFFFFF 进行位与运算String sTempSubString = hex.substring(i * 8, i * 8 + 8);// 这里需要使用 long 型来转换,因为 Inteper .parseInt() 只能处理 31 位 , 首位为符号位 , 如果不用// long ,则会越界long lHexLong = 0x3FFFFFFF & Long.parseLong(sTempSubString, 16);String outChars = "";for (int j = 0; j < 6; j++) {// 把得到的值与 0x0000003D 进行位与运算,取得字符数组 chars 索引long index = 0x0000003D & lHexLong;// 把取得的字符相加outChars += chars[(int) index];// 每次循环按位右移 5 位lHexLong = lHexLong >> 5;}// 把字符串存入对应索引的输出数组resUrl[i] = outChars;}return resUrl;}
}

java高仿新浪微博短链接地址生成工具ShortUrlGenerator.java相关推荐

  1. 短链接java代码_java高仿新浪微博短链接地址生成工具ShortUrlGenerator.java

    仿新浪微博 短链接地址生成工具 ShortUrlGenerator.java String sLongUrl = "http://tech.sina.com.cn/i/2011-03-23/ ...

  2. java 新浪短链接_java高仿新浪微博短链接地址生成工具ShortUrlGenerator.java | 学步园...

    仿新浪微博 短链接地址生成工具 ShortUrlGenerator.java String sLongUrl = "http://www.zuidaima.com/share/1550463 ...

  3. 新浪微博短链接的生成算法(Java版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责 ...

  4. 腾讯短链接在线生成工具

    相信大家对于短链接短网址不会陌生,短链接短网址的被广泛的使用在电商推广.微信.QQ群推广,短信营销等.缩短链接,美化二维码,全面提升推广文案美观度,还能实时监测推广效果.但是新浪关闭了短网址的App ...

  5. 原生Java高仿抖音短视频APP双端源码

    简介: 从别的网站199购买的原生Java高仿抖音短视频APP双端源码,免费给大家~ 源码未测试,java开发,上手有难度,小白童鞋请勿瞎捣鼓. 安卓语言是:android stdio 苹果语言是:O ...

  6. 微博短链接的生成算法(Java版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责 ...

  7. java短链接原理_微博短链接的生成算法(Java版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责 ...

  8. php 调用新浪微博接口,php调用新浪微博短链接api接口地址例子

    短链接我们可以自己生成当然也可以调用第三方的如我们调用新浪微博短链接api接口即可生成自己要的地址了,下面来看一些小编总结的例子. 新浪短网址接口的稳定性和跳转速度还是很给力的,现给出其API说明. ...

  9. 微博短链接的生成算法(Java 版本)

    最近看到微博的短链接真是很火啊,新浪.腾讯.搜狐等微博网站都加入了短链接的功能.之所以要是使用短链接,主要是因为微博只允许发140字,如果链接地址太长的话,那么发送的字数将大大减少.短链接的主要职责就 ...

最新文章

  1. Realm数据库使用
  2. Matlab实现线性回归和逻辑回归: Linear Regression Logistic Regression
  3. matlab fill 渐变,Matlab的渐变色填充(一)
  4. Ball Dropping
  5. java mac 转换 整形_JAVA的整型与字符串相互转换
  6. java随机产生坐标点_刚学JAVA不久,问一下怎么把这个程序实现随机啊,不是按照坐标...
  7. antd vue中,如何给表单动态添加input,解决遇到一些坑
  8. xtrabackup备份mysql_xtrabackup备份mysql
  9. No.025:Reverse Nodes in k-Group
  10. 【Unity3D插件】Unity3D各类教程汇总
  11. java开发实战经典(第二版)P283 9-1
  12. MIKE水动力笔记3_岸线及水深数据之根据遥感影像绘制岸线的方法
  13. SATI阅读重点有哪些?
  14. 学plc还是学java_要学PLC想走PLC工程师之路的看看
  15. C++ DOM读写xml(msxml6)
  16. 如何正确的制定目标?(只需4步)
  17. Python 学习笔记 - 函数
  18. java三角形类_java 三角形类 Triangle的用法详解
  19. hive项目之微博ETL项目总结分析
  20. 食品饮料行业商业供应链智能系统解决方案:智慧供应链平台助力企业搭乘数字化快车乘风破浪

热门文章

  1. PCL点云使用贪婪三角化进行曲面重构
  2. NFT国内化的“数字藏品” 国内互联网龙头的入局
  3. Python读写Excel文件-1
  4. iOS开发调试技巧之在App设置中切换服务器环境
  5. html设置文本颜色三种写法,html字体颜色设置方法
  6. 10月12日 阅读数异常公告
  7. 手机如何测光照度_照度测定方法
  8. 2022年的ISTQB,你考了没?
  9. Java基础语法-数据类型与idea配置
  10. Linux安装视频播放器