import org.apache.commons.codec.digest.DigestUtils;/*** 工具类:通过加密运算后,将长连接转换为短字符串**/
public class ShortStrlUtil {public static void main(String[] args) {// 长连接String longUrl = "https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login";// 转换成的短链接后6位码String[] shortCodeArray = shortUrl(longUrl);for (int i = 0; i < shortCodeArray.length; i++) {System.out.println(shortCodeArray[i]);// 任意一个都可以作为短链接码}}public static String[] shortUrl(String url) {// 可以自定义生成 MD5 加密字符传前的混合 KEYString key = "";// "kLcN2CTX"; 根据需求判断是否需要使用随机数// 要使用生成 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 = DigestUtils.md5Hex(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;}
}

长链接(url)转换为短字符串,再把url和短字符串存数据库(有短域名方案)相关推荐

  1. 项目用druid,长时间不访问应用,再访问又连接不上了数据库了

    问题:据库和应用在同一台机,数据库用mysql5.6.20,已经升级druid到最新的1.0.7版本,访问的是localhost的mysql,放一个晚上不访问,第二天访问就报错了,重启服务正常,错误提 ...

  2. 如何长URL转换为短URL

    转载自:https://blog.csdn.net/bntX2jSQfEHy7/article/details/80045503 短地址的好处 (1)节省网址长度,便于社交化传播,一个是让URL更短小 ...

  3. 【短链接】——新浪、百度、搜狐等官方长链接转短链接

    在项目中难免会生成自己的跳转链接,为了简化链接以及防止微信等屏蔽,可以用一些官方的api将自己的链接转为短链接. ConvertShortUrlUtil.java public class Conve ...

  4. java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串...

    java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 1 package com.zdz.test; ...

  5. URL长链接转短链接

    开始以为短链接是按照某种算法把原始链接压缩为短链接,再根据算法从短链接反算成原始链接的.后来尝试了下压缩算法(gzip 压缩算法),发现对于url 这种字符串越是压缩,长度就越长.通过对压缩算法的一些 ...

  6. 微信URL Scheme码+长链接转短链接+短链接通过h5页面跳转到微信小程序

    微信URL Scheme码+长链接转短链接+短链接通过h5页面跳转到微信小程序 --生成微信URL Scheme码-->长链接转换成短链接-->通过短信进行推广-->用户访问营销短信 ...

  7. php微信短网址生成,微信公众号实现长链接转短链接!w.url.cn短网址生成

    微信公众号开发者平台提供短网址生成的API,最终生成的短网址是w.url.cn的,下面是详细的代码. 官方文档 https://developers.weixin.qq.com/doc/offiacc ...

  8. python:URL转短(长链接转短链接)

    安装python第三方库pyshorteners URL长转短:输入待转换的URL,运行代码实现URL转短,输出结果为短链接 本次代码运行使用jupyter notebook(anaconda) ,p ...

  9. 如何实现 长链接变 短 链接?

    短链接,通俗来说,就是将长的 URL 网址,通过程序计算等方式,转换为简短的网址字符串. 大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转.新浪微博因为限制字数,所以也会经常见到这种看 ...

  10. 实现 长链接变 短 链接

    短链接,通俗来说,就是将长的 URL 网址,通过程序计算等方式,转换为简短的网址字符串. 大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转.新浪微博因为限制字数,所以也会经常见到这种看 ...

最新文章

  1. Tomcat报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
  2. 3DSlicer25:Report an Error
  3. B17_NumPy IO(save,load,savez,loadtxt,savetxt)
  4. mysql 分组求和_MySql基础语法
  5. oracle计算最大与最小之间数,oracle 分析函数
  6. 牛客挑战赛30 C 小G砍树 换根dp+组合
  7. 诗与远方:无题(八十四)- 自己醉了
  8. Spring高级之注解@DependsOn详解(超详细)
  9. Selenium自动化测试-浏览器基本操作
  10. Android 引导页
  11. 马蜂窝张矗:绩效考核是为了激发工作潜力,而不是逃避问题
  12. c+primer 学习笔记 6
  13. 玩转“数独”2.0时代
  14. SQL 已更新或删除的行值要么不能使该行成为唯一行
  15. FreeTextBox使用方法
  16. 个人项目记录 -- VChat
  17. 孩子晚上偷着玩手机,家长该怎么办?
  18. css精灵列表使用实例,css 精灵图的使用
  19. 哪吒经典语录中文在线英语翻译
  20. 腾讯CSIG测开一面

热门文章

  1. 初学python找不到的类都到这儿来
  2. 工具类APP的生存之道
  3. 转:solr 从数据库导入数据,全量索引和增量索引(实例配置原理)
  4. 解决unix:///var/run/supervisor/supervisor.sock no such file问题
  5. Python之Excel编辑-[小试牛刀]表格插入列
  6. 晨哥真有料丨心理学“踢猫效应”,拒绝传递负能量
  7. Count Pairs
  8. Yura2020年限量高级定制版阅读进度表
  9. 廖雪峰的官方网站Python教程练习题
  10. gittortoise使用ssh秘钥