使用MD5和SHA进行加密处理
用两种方式:
1>>一种是使用JAVA自带的加密处理(PS:自带的加密方式适合1.6一下版本..更高的版本被禁用了)
2>>一种是导入第三方的jar包(commons-codec-1.9.jar)
下载地址:commons-codec-1.9.jar(2018年4月11日20:29:01最新是1.11版本)
这里我使用1.9版本
(PS:MD5和SHA加密的代码相同..这里我只演示一种..把两者不同的地方注释)
使用MD5方式使用JAVA自带的加密方式
package com.gaosheng.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Base64InputStream;
import com.sun.mail.util.BASE64EncoderStream;
public class TestMD_SHA {
public static String MD5_Test(String message) throws Exception{
/**
* MessageDigest.getInstance("MD5");
* 这里的参数是MD5或者是SHA..使用哪种就填充哪种参数即可
* MessageDigest sha = MessageDigest.getInstance("SHA");
*/
//加密的方式
MessageDigest md = MessageDigest.getInstance("MD5");
//将加密的信息转换为字节
byte[] bytes = message.getBytes();
byte[] digest = md.digest(bytes);
//使用JAVA自带的方式进行加密
byte[] encode = BASE64EncoderStream.encode(digest);
return new String(encode);
/**
* 使用第三方jar进行加密
* String base64String = Base64.encodeBase64String(digest);
* return new String(base64String);
*/
}
}
对代码进行测试测试MD5和SHA:
public static void main(String[] args) throws Exception {
System.out.println(TestMD_SHA.MD5_Test("12345"));
/**
* 1.加密格式MD5
* 使用JAVA自带加密方式
* 结果:gnzLDuqKcGxMNKFokfhOew==
*
* 2.加密格式MD5
* 使用Jar包第三方加密
* 结果:gnzLDuqKcGxMNKFokfhOew==
*/
/**
* 1.加密格式SHA
* 使用JAVA自带加密方式
* 结果:jLIjfQZ5yojbZGTqxg2pY0VROWQ=
*
* 2.加密格式SHA
* 使用Jar包第三方加密
* 结果:jLIjfQZ5yojbZGTqxg2pY0VROWQ=
*/
}