最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)無符號數(shù)轉(zhuǎn)換、字符串補(bǔ)齊、md5、uuid、隨機(jī)數(shù)示例

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



復(fù)制代碼 代碼如下:

package com.hongyuan.test;

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


/*
 * 雜項(無符號數(shù)轉(zhuǎn)換,字符串補(bǔ)齊,md5,uuid,隨機(jī)數(shù))
 */
public class SundryTest {

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

 //隨機(jī)數(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("隨機(jī)數(shù):"+random(1,100));
 }

}

相關(guān)文章

  • Java泛型最全知識總結(jié)

    Java泛型最全知識總結(jié)

    面試被問到Java泛型怎么辦,有了這篇文章,讓你直接保送,文中有非常詳細(xì)的知識總結(jié)及相關(guān)代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java枚舉類接口實(shí)例原理解析

    Java枚舉類接口實(shí)例原理解析

    這篇文章主要介紹了Java枚舉類接口實(shí)例原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 一文帶你弄懂Maven拉包(拉取依賴包)原理

    一文帶你弄懂Maven拉包(拉取依賴包)原理

    業(yè)務(wù)需求開發(fā)的時候,我們總是會遇到拉不到依賴包的情況,此時如果不清楚 Maven 拉取依賴包的原理,那么很可能找不到問題所在,今天小編就帶大家了解下 Maven 拉包的原理,讓你在遇到問題的時候能快速解決,需要的朋友可以參考下
    2023-07-07
  • java讀取文件顯示進(jìn)度條的實(shí)現(xiàn)方法

    java讀取文件顯示進(jìn)度條的實(shí)現(xiàn)方法

    當(dāng)讀取一個大文件時,一時半會兒無法看到讀取結(jié)果,就需要顯示一個進(jìn)度條,是程序員明白已經(jīng)讀了多少文件,可以估算讀取還需要多少時間,下面的代碼可以實(shí)現(xiàn)這個功能
    2014-01-01
  • 新建springboot項目時,entityManagerFactory報錯的解決

    新建springboot項目時,entityManagerFactory報錯的解決

    這篇文章主要介紹了新建springboot項目時,entityManagerFactory報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 關(guān)于對Java正則表達(dá)式"\\"的理解

    關(guān)于對Java正則表達(dá)式"\\"的理解

    正則表達(dá)式中,\代表轉(zhuǎn)義字符,通常是轉(zhuǎn)義一些特殊字符,下面這篇文章主要給大家介紹了關(guān)于對Java正則表達(dá)式"\\"的相關(guān)理解,需要的朋友可以參考下
    2022-09-09
  • IDEA 2020.1 for Mac 下載安裝配置及出現(xiàn)的問題小結(jié)

    IDEA 2020.1 for Mac 下載安裝配置及出現(xiàn)的問題小結(jié)

    這篇文章主要介紹了IDEA 2020.1 for Mac 下載安裝配置及出現(xiàn)的問題小結(jié),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • mybatis使用xml進(jìn)行增刪改查代碼解析

    mybatis使用xml進(jìn)行增刪改查代碼解析

    這篇文章主要介紹了mybatis使用xml進(jìn)行增刪改查代碼解析,分享了相關(guān)配置和代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • SpringBoot+MinIO實(shí)現(xiàn)文件切片極速詳解

    SpringBoot+MinIO實(shí)現(xiàn)文件切片極速詳解

    在現(xiàn)代Web應(yīng)用中,文件上傳是一個常見的需求,尤其是對于大文件的上傳,如視頻、音頻或大型文檔,所以本文就來為大家介紹一下如何使用Spring Boot和MinIO實(shí)現(xiàn)文件切片極速上傳技術(shù)吧
    2023-12-12
  • java File類重要方法以及如何操作文件詳解

    java File類重要方法以及如何操作文件詳解

    這篇文章主要為大家介紹了java File類重要方法以及如何操作文件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評論

吴川市| 康乐县| 阿坝| 德格县| 峡江县| 溧水县| 宜宾县| 衢州市| 凤翔县| 武穴市| 大渡口区| 武义县| 佛山市| 增城市| 长岭县| 哈密市| 鹤庆县| 汕尾市| 双桥区| 汝南县| 武城县| 海安县| 翁牛特旗| 兰溪市| 安徽省| 农安县| 永昌县| 湾仔区| 收藏| 冕宁县| 娄烦县| 宁明县| 伊春市| 昌黎县| 永平县| 宿松县| 微博| 吴江市| 潜江市| 丘北县| 从化市|