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

相关文章推荐

java url 加密解密 解决方案 (转)

java.net.URLEncoder.encode(Base64编码(加密字串), StringCode) 这样的方法来对url中的参数进行加密。   首先我们先说一下如何加密。   一、算...

java长链接转短链接代码

我们经常看到短信和微博中用到短链接,短链接的主要职责就是把原始链接很长的地址压缩成只有6 个字母的短链接地址,当我们点击这6 个字母的链接后,我们又可以跳转到原始链接地址。 原理并不是采用压缩算法(如...

Java实现RC4加密算法、RSA算法、MD5算法

Java实现RC4加密算法、RSA算法、MD5算法,实现文件加密、解密、密码加密解密。

hash校验算法

在某些网站下载软件的时候,官方会提供该软件的MD5值、SHA1值或CRC32值,目的我们都知道,就是防止文件被篡改,准确地说,不叫防止,就是你下载回去的软件或程序通过Hash校验工具计算后,如果Has...

js java 前后台md5加密

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

Java MD5加密类

网上很多方法,都可以实现MD5加密。 关于各种各样的实现方法,个人今天总结了两个出来。 如下: 方法一: import java.lang.reflect.*; /********...

java MD5 密码加密

public class MD5Util { /* * A Java implementation of the RSA Data Security, Inc. MD5 Message * ...

Java MD5加密解密

代码: package net.test.util; public class Md5 { /* * Convert a 32-bit number to a hex strin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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