龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

java实现无符号数转换、字符串补齐、md5、uuid、随

时间:2014-05-15 19:01来源:网络整理 作者:网络 点击:
分享到:
这篇文章主要介绍了java实现无符号数转换、字符串补齐、md5、uuid、随机数示例,需要的朋友可以参考下



代码如下:

package com.hongyuan.test;


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
import java.util.UUID;


/*
* 杂项(无符号数转换,字符串补齐,md5,uuid,随机数)
*/
public class SundryTest {

//转成无符号数
public static Number toUnsignedNumber(Number num){
 if(num instanceof Byte){
  return (Byte)num & 0xff;
 }else if(num instanceof Short){
  return (Short)num & 0xffff;
 }else if(num instanceof Integer){
  return (Integer)num & 0xffffffffL;
 }else{
  return -1;
 }
}
//左补齐
public static String leftPad(String str,String pad,int len){
 String newStr=(str==null?"":str);
 while(newStr.length()<len){
  newStr=pad+newStr;
 }
 if(newStr.length()>len){
  newStr=newStr.substring(newStr.length()-len);
 }
 return newStr;
}
//右补齐
public static String rightPad(String str,String pad,int len){
 String newStr=(str==null?"":str);
 while(newStr.length()<len){
  newStr=newStr+pad;
 }
 if(newStr.length()>len){
  newStr=newStr.substring(0, len);
 }
 return newStr;
}

//md5
public static String md5(String str){
 StringBuilder sb=new StringBuilder();
 try {
  MessageDigest digest = MessageDigest.getInstance("MD5");
  byte[] message=digest.digest(str.getBytes());
  for(int i=0;i<message.length;i++){
   sb.append(leftPad(           //左补齐
       Integer.toHexString(      //转成16进制数
        (Integer)toUnsignedNumber(message[i])), //转成无符号数
      "0",2).toUpperCase());       //转成大写
  }
 } catch (NoSuchAlgorithmException e) {
  throw new RuntimeException("不存在md5服务!");
 }
 return sb.toString();
}
//UUID
public static String uuid(){
 return UUID.randomUUID().toString().replaceAll("-","").toUpperCase();
}

//随机数(包括min,不包括max)
public static int random(int min,int max){
 if(min<=max){
  Random random=new Random();
  return random.nextInt(max-min)+min;
 }else{
  throw new IllegalArgumentException("无法处理一个不合法的数字区间!");
 }

}

public static void main(String[] args){
 System.out.println("MD5(123456):"+md5("123456"));
 System.out.println("UUID:"+uuid());
 System.out.println("随机数:"+random(1,100));
}

}

精彩图集

赞助商链接