欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實現(xiàn)無符號數(shù)轉換、字符串補齊、md5、uuid、隨機數(shù)示例

 更新時間:2014年04月30日 09:14:58   作者:  
這篇文章主要介紹了java實現(xiàn)無符號數(shù)轉換、字符串補齊、md5、uuid、隨機數(shù)示例,需要的朋友可以參考下



復制代碼 代碼如下:

package com.hongyuan.test;

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


/*
 * 雜項(無符號數(shù)轉換,字符串補齊,md5,uuid,隨機數(shù))
 */
public class SundryTest {

 //轉成無符號數(shù)
 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進制數(shù) 
         (Integer)toUnsignedNumber(message[i])), //轉成無符號數(shù)
       "0",2).toUpperCase());       //轉成大寫
   }
  } catch (NoSuchAlgorithmException e) {
   throw new RuntimeException("不存在md5服務!");
  }
  return sb.toString();
 }
 //UUID
 public static String uuid(){
  return UUID.randomUUID().toString().replaceAll("-","").toUpperCase();
 }

 //隨機數(shù)(包括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("無法處理一個不合法的數(shù)字區(qū)間!");
  }

 }

 public static void main(String[] args){
  System.out.println("MD5(123456):"+md5("123456"));
  System.out.println("UUID:"+uuid());
  System.out.println("隨機數(shù):"+random(1,100));
 }

}

相關文章

  • springboot控制層傳遞參數(shù)為非必填值的操作

    springboot控制層傳遞參數(shù)為非必填值的操作

    這篇文章主要介紹了springboot控制層傳遞參數(shù)為非必填值的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解Java的Struts框架中棧值和OGNL的使用

    詳解Java的Struts框架中棧值和OGNL的使用

    這篇文章主要介紹了Java的Struts框架中棧值和OGNL的使用,Struts框架是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • 在SpringBoot中配置日期格式化的方法詳解

    在SpringBoot中配置日期格式化的方法詳解

    通常情況下,發(fā)起一個 Http 請求,Spring Boot 會根據(jù)請求路徑映射到指定 Controller 上的某個方法的參數(shù)上,接著,Spring 會自動進行類型轉換,對于日期類型的參數(shù),Spring 默認是沒有配置如何將字符串轉換成日期類型的,本文將給大家介紹在SpringBoot中配置日期格式化的方法
    2023-10-10
  • SpringCloud中的路由網(wǎng)關鑒權熔斷詳解

    SpringCloud中的路由網(wǎng)關鑒權熔斷詳解

    這篇文章主要介紹了SpringCloud中的路由網(wǎng)關鑒權熔斷詳解,Hystrix是一個用于處理分布式系統(tǒng)的延遲和容錯的開源庫,在分布式系統(tǒng)里,許多依賴不可避免的會調(diào)用失敗,比如超時、異常等,需要的朋友可以參考下
    2024-01-01
  • Java自動化測試中多數(shù)據(jù)源的切換(實例講解)

    Java自動化測試中多數(shù)據(jù)源的切換(實例講解)

    下面小編就為大家?guī)硪黄狫ava自動化測試中多數(shù)據(jù)源的切換(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • springboot配置允許跨域訪問代碼實例

    springboot配置允許跨域訪問代碼實例

    這篇文章主要介紹了springboot配置允許跨域訪問代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • Java多線程中的Exchanger應用簡析

    Java多線程中的Exchanger應用簡析

    這篇文章主要介紹了Java多線程中的Exchanger應用簡析,Exchanger提供了一個同步點exchange方法,兩個線程調(diào)用exchange方法時,無論調(diào)用時間先后,兩個線程會互相等到線程到達exchange方法調(diào)用點,此時兩個線程可以交換數(shù)據(jù),將本線程產(chǎn)出數(shù)據(jù)傳遞給對方,需要的朋友可以參考下
    2023-12-12
  • Java基礎之選擇結構與循環(huán)結構

    Java基礎之選擇結構與循環(huán)結構

    這篇文章主要介紹了Java基礎之選擇結構與循環(huán)結構,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • MybatisPlus中的insert操作詳解

    MybatisPlus中的insert操作詳解

    這篇文章主要介紹了MybatisPlus中的insert操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Springboot使用異步請求提高系統(tǒng)的吞吐量詳解

    Springboot使用異步請求提高系統(tǒng)的吞吐量詳解

    這篇文章主要介紹了Springboot使用異步請求提高系統(tǒng)的吞吐量詳解,和同步請求相對,異步不需要等待響應,隨時可以發(fā)送下一次請求,如果是同步請求,需要將信息填寫完整,再發(fā)送請求,服務器響應填寫是否正確,再做修改,需要的朋友可以參考下
    2023-08-08

最新評論