zoukankan      html  css  js  c++  java
  • Java 对字符串数据进行MD5/SHA1哈希散列运算

    Java对字符串数据进行MD5/SHA1哈希散列运算


    [java] view plain copy
     在CODE上查看代码片派生到我的代码片
    1. package cn.aibo.test;  
    2.   
    3. import java.security.MessageDigest;  
    4. import java.security.NoSuchAlgorithmException;  
    5.   
    6. public class TestMd5AndSha1 {  
    7.       
    8.     public static String md5(String data) throws NoSuchAlgorithmException {  
    9.         MessageDigest md = MessageDigest.getInstance("MD5");  
    10.         md.update(data.getBytes());  
    11.         StringBuffer buf = new StringBuffer();  
    12.         byte[] bits = md.digest();  
    13.         for(int i=0;i<bits.length;i++){  
    14.             int a = bits[i];  
    15.             if(a<0) a+=256;  
    16.             if(a<16) buf.append("0");  
    17.             buf.append(Integer.toHexString(a));  
    18.         }  
    19.         return buf.toString();  
    20.     }  
    21.       
    22.     public static String sha1(String data) throws NoSuchAlgorithmException {  
    23.         MessageDigest md = MessageDigest.getInstance("SHA1");  
    24.         md.update(data.getBytes());  
    25.         StringBuffer buf = new StringBuffer();  
    26.         byte[] bits = md.digest();  
    27.         for(int i=0;i<bits.length;i++){  
    28.             int a = bits[i];  
    29.             if(a<0) a+=256;  
    30.             if(a<16) buf.append("0");  
    31.             buf.append(Integer.toHexString(a));  
    32.         }  
    33.         return buf.toString();  
    34.     }  
    35.       
    36.     public static void main(String[] args) throws NoSuchAlgorithmException{  
    37.         String data = "abc";  
    38.         //MD5  
    39.         System.out.println("MD5 : "+md5(data));  
    40.         //SHA1  
    41.         System.out.println("SHA1 : "+sha1(data));  
    42.     }  
    43. }  

    运算结果

    1MD5 : 900150983cd24fb0d6963f7d28e17f72
    2SHA1 : a9993e364706816aba3e25717850c26c9cd0d89d





  • 相关阅读:
    数据结构笔记
    简单数学
    分析代码练习--长期目标
    C#基础--面向对象计算器
    经常喜欢看的网站
    C#基础--面向过程计算器
    C#中的五个访问修饰符
    SQLServer 游标详解
    快速产生大量顺序数字序列
    VSCode 必装的 10 个高效开发插件
  • 原文地址:https://www.cnblogs.com/jeffen/p/6840562.html
Copyright © 2011-2022 走看看