java 短连接+MD5加密短链接

原创 2015年07月11日 07:21:04

java 短连接+MD5加密短链接



import java.security.MessageDigest;



public class ShotUrlUtil {

public static void main(String[] args) {
System.out.println(shortUrl("http://www.baidu.com/"));
}

public static String shortUrl(String 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 md5str = getMD5Str(url);
      System.out.println(md5str);
      String hex = md5str;
          String sTempSubString = hex.substring(8, 16);
          long lHexLong = 0x3FFFFFF3 & Long.parseLong (sTempSubString, 16);
          String outChars = "" ;
          for ( int j = 0; j < 6; j++) {
             long index = 0x0000003C & lHexLong;
             outChars += chars[( int ) index];
             // 每次循环按位右移 5 位
             lHexLong = lHexLong >> 5;
          }
      return outChars;
   }
 
private static String getMD5Str(String str) {  
       MessageDigest messageDigest = null;  
       try {  
           messageDigest = MessageDigest.getInstance("MD5");  
           messageDigest.reset();  
           messageDigest.update(str.getBytes("UTF-8"));  
       } catch (Exception e) {  
           System.out.println("catch!");  
       } 
       byte[] byteArray = messageDigest.digest();  
       StringBuffer md5StrBuff = new StringBuffer();  
       for (int i = 0; i < byteArray.length; i++) {              
           if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)  
               md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));  
           else  
               md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));  
       }  
       return md5StrBuff.toString();  
   }  
}
版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载。zuiniusn.com

长URL链接转短链接算法(JAVA)

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

短链接生成算法与MD5生成32位唯一ID算法

首先将一个MD5生成32位id的算法。  算法的核心就是通过java的
  • is_zhoufeng
  • is_zhoufeng
  • 2014年05月21日 19:58
  • 11787

【Java】接口长URL转成短连接的实现(代码案例实操)

有时候,我们不想采用很长的url链接,主要的一些原因: URL太长占显示空间、难于输入,转成二维码点点小,难于识别长的URL提供的信息太多,不利于信息安全,甚至容易造成倒库其他理由......例...
  • hj7jay
  • hj7jay
  • 2017年03月22日 10:37
  • 1336

建设银行MD5加密算法,httpClient发送https链接以及接受返回的xml

  • 2012年11月29日 17:55
  • 7KB
  • 下载

MD5带盐值的java加密算法

现在的MD5密码数据库的数据量已经非常庞大了,大部分常用密码都可以通过MD5摘要反向查询到密码明文。为了防止内部人员(能够接触到数据库或者数据库备份文件的人员)和外部入侵者通过MD5反查密码明文,更好...
  • zhanglianhai555
  • zhanglianhai555
  • 2015年07月27日 10:27
  • 9386

对中文进行MD5加密的注意事项(Java版)

一、关于java语言涉及中文的MD5加密问题 3月6日和一个合作商进行http通信的时候用到的MD5加密,在加密过程中,其中有几个参数是中文。由于http协议在传输过程中使用的都是iso_8859_1...
  • Tongdao
  • Tongdao
  • 2014年03月07日 09:53
  • 4491

js java 前后台md5加密

当做用户登陆、注册的用户名与密码加密时,可以在前端用js定义md5函数对值做哈希,如此用户提交表单后,在网络中路由间传递的便是简单加密后的信息,而非明文信息,等表单提交到后台后,可用md5再次对其进行...
  • arenn
  • arenn
  • 2016年12月09日 14:26
  • 2358

十三、java 常用工具类使用UUid、日期处理、MD5加密

import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.securit...
  • gezi2015129
  • gezi2015129
  • 2017年03月16日 14:43
  • 808

javascript+Java 实现MD5加密登录密码

说下大概的过程: 打开登录的JSP页面时,生成一个随机字符串,放在session里面,以便后台也可以拿到。 客户输入用户名和密码点击"登录"时,拿到密码和随机字符串,拼接在一起后利用js生成MD5...
  • qq_30641447
  • qq_30641447
  • 2016年05月29日 18:35
  • 1839

Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能dazh
  • yanzi1225627
  • yanzi1225627
  • 2014年05月21日 21:44
  • 50633
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 短连接+MD5加密短链接
举报原因:
原因补充:

(最多只允许输入30个字)