⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testmd5.java

📁 基于JSP的网上书店.功能较为全面 开发环境:sql server2000+tomcat+jdk
💻 JAVA
字号:
package pkSecurity;

import java.security.*;
import java.math.*;

/*
 检验你的实现是否正确: 
 MD5 ("") = d41d8cd98f00b204e9800998ecf8427e 
 MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661 
 MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72 
 MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0 
 MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
*/

public class TestMd5
{
    public String MD5(String sInput) throws Exception
    {
        
        String algorithm = "";
        //输入不能为空 
        if(sInput.trim() == null)
        {
            return "null";
        }  
        
        //指定采用MD5算法
        try
        {
            algorithm = System.getProperty("MD5.algorithm","MD5");
        }
        catch(SecurityException se)
        {
        }
        
        //定义MessageDigest对象
        MessageDigest md = MessageDigest.getInstance(algorithm);
        
        //按照系统缺省的字符编码方式把sInput 转换成字节,并把结果存到一新的字节数组buffer中
        byte buffer[] = sInput.getBytes();
        md.update(buffer);
        
        //通过执行最后的诸如填充的操作完成散列码的计算。 在调用之后复位该摘要
        //返回存放结果散列值的字节数组bDigest
        char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd','e', 'f'};
        byte bDigest[] = md.digest();
        
        int j = bDigest.length;
        char str[] = new char[j * 2];
        int k = 0;
        for (int i = 0; i < j; i++) 
        {
            byte byte0 = bDigest[i];
            str[k++] = hexDigits[byte0 >>> 4 & 0xf];
            str[k++] = hexDigits[byte0 & 0xf];
        }
        return new String(str);

    }
    
    public static void main(String [] a)
    {
        TestMd5 my = new TestMd5();
        try
        {
            System.out.println(my.MD5("abc"));
            System.out.println(my.MD5 ("") ); // = d41d8cd98f00b204e9800998ecf8427e 
            System.out.println(my.MD5 ("a") ); // = 0cc175b9c0f1b6a831c399e269772661 
            System.out.println(my.MD5 ("abc") ); // = 900150983cd24fb0d6963f7d28e17f72 
            System.out.println(my.MD5 ("message digest") ); // = f96b697d7cb7938d525a2f31aaf161d0 
            System.out.println(my.MD5 ("abcdefghijklmnopqrstuvwxyz") ); // = c3fcd3d76192e4007dfb496cca67e13b
        }
        catch (Exception e)
        {
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -