Java常用的对密码加密的方法(MD5,SHA)
关键字: md5 sha sha-256 sha-512
主要使用到了MessageDigest这个类
主要的方法:
编码转换的方法:
Main方法测试
如果条件允许,尽量使用sha256 sha512进行加密
主要的方法:
- /**
- * 将摘要信息转换为相应的编码
- * @param code 编码类型
- * @param message 摘要信息
- * @return 相应的编码字符串
- */
- private String Encode(String code,String message){
- MessageDigest md;
- String encode = null ;
- try {
- md = MessageDigest.getInstance(code);
- encode = byteArrayToHexString(md.digest(message
- .getBytes()));
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return encode;
- }
/**
* 将摘要信息转换为相应的编码
* @param code 编码类型
* @param message 摘要信息
* @return 相应的编码字符串
*/
private String Encode(String code,String message){
MessageDigest md;
String encode = null;
try {
md = MessageDigest.getInstance(code);
encode = byteArrayToHexString(md.digest(message
.getBytes()));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return encode;
}
编码转换的方法:
- /**
- * 将摘要信息转换成MD5编码
- * @param message 摘要信息
- * @return MD5编码之后的字符串
- */
- public String md5Encode(String message){
- return Encode( "MD5" ,message);
- }
- /**
- * 将摘要信息转换成SHA编码
- * @param message 摘要信息
- * @return SHA编码之后的字符串
- */
- public String shaEncode(String message){
- return Encode( "SHA" ,message);
- }
- /**
- * 将摘要信息转换成SHA-256编码
- * @param message 摘要信息
- * @return SHA-256编码之后的字符串
- */
- public String sha256Encode(String message){
- return Encode( "SHA-256" ,message);
- }
- /**
- * 将摘要信息转换成SHA-512编码
- * @param message 摘要信息
- * @return SHA-512编码之后的字符串
- */
- public String sha512Encode(String message){
- return Encode( "SHA-512" ,message);
- }
/**
* 将摘要信息转换成MD5编码
* @param message 摘要信息
* @return MD5编码之后的字符串
*/
public String md5Encode(String message){
return Encode("MD5",message);
}
/**
* 将摘要信息转换成SHA编码
* @param message 摘要信息
* @return SHA编码之后的字符串
*/
public String shaEncode(String message){
return Encode("SHA",message);
}
/**
* 将摘要信息转换成SHA-256编码
* @param message 摘要信息
* @return SHA-256编码之后的字符串
*/
public String sha256Encode(String message){
return Encode("SHA-256",message);
}
/**
* 将摘要信息转换成SHA-512编码
* @param message 摘要信息
* @return SHA-512编码之后的字符串
*/
public String sha512Encode(String message){
return Encode("SHA-512",message);
}
Main方法测试
- CodeUtil cu = new CodeUtil();
- //对MD5进行验证
- System.out.println("----MD5----" );
- System.out.println(cu.validate("d41d8cd98f00b204e9800998ecf8427e" , cu.md5Encode( "" )));
- System.out.println(cu.validate("0cc175b9c0f1b6a831c399e269772661" , cu.md5Encode( "a" )));
- System.out.println(cu.validate("900150983cd24fb0d6963f7d28e17f72" , cu.md5Encode( "abc" )));
- System.out.println(cu.validate("f96b697d7cb7938d525a2f31aaf161d0" , cu.md5Encode( "message digest" )));
- System.out.println(cu.validate("c3fcd3d76192e4007dfb496cca67e13b" , cu.md5Encode( "abcdefghijklmnopqrstuvwxyz" )));
- System.out.println(cu.validate("d174ab98d277d9f5a5611c2c9f419d9f" , cu.md5Encode( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" )));
- System.out.println(cu.validate("57edf4a22be3c955ac49da2e2107b67a" , cu.md5Encode( "12345678901234567890123456789012345678901234567890123456789012345678901234567890" )));
- //对SHA进行验证
- System.out.println("----SHA----" );
- System.out.println(cu.validate("2fd4e1c67a2d28fced849ee1bb76e7391b93eb12" , cu.shaEncode( "The quick brown fox jumps over the lazy dog" )));
- System.out.println(cu.validate("de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3" , cu.shaEncode( "The quick brown fox jumps over the lazy cog" )));
- System.out.println(cu.validate("da39a3ee5e6b4b0d3255bfef95601890afd80709" , cu.shaEncode( "" )));
- System.out.println("-----------" );
- //对于SHA-256,SHA-512请自行验证
- //下面显示MD5 SHA SHA-256 SHA-512所生成的长度
- System.out.println("--MD5--:" +cu.md5Encode( "test" ));
- System.out.println("--SHA--:" +cu.shaEncode( "test" ));
- System.out.println("SHA-256:" +cu.sha256Encode( "test" ));
- System.out.println("SHA-512:" +cu.sha512Encode( "test" ));
CodeUtil cu = new CodeUtil();
//对MD5进行验证
System.out.println("----MD5----");
System.out.println(cu.validate("d41d8cd98f00b204e9800998ecf8427e", cu.md5Encode("")));
System.out.println(cu.validate("0cc175b9c0f1b6a831c399e269772661", cu.md5Encode("a")));
System.out.println(cu.validate("900150983cd24fb0d6963f7d28e17f72", cu.md5Encode("abc")));
System.out.println(cu.validate("f96b697d7cb7938d525a2f31aaf161d0", cu.md5Encode("message digest")));
System.out.println(cu.validate("c3fcd3d76192e4007dfb496cca67e13b", cu.md5Encode("abcdefghijklmnopqrstuvwxyz")));
System.out.println(cu.validate("d174ab98d277d9f5a5611c2c9f419d9f", cu.md5Encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")));
System.out.println(cu.validate("57edf4a22be3c955ac49da2e2107b67a", cu.md5Encode("12345678901234567890123456789012345678901234567890123456789012345678901234567890")));
//对SHA进行验证
System.out.println("----SHA----");
System.out.println(cu.validate("2fd4e1c67a2d28fced849ee1bb76e7391b93eb12", cu.shaEncode("The quick brown fox jumps over the lazy dog")));
System.out.println(cu.validate("de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3", cu.shaEncode("The quick brown fox jumps over the lazy cog")));
System.out.println(cu.validate("da39a3ee5e6b4b0d3255bfef95601890afd80709", cu.shaEncode("")));
System.out.println("-----------");
//对于SHA-256,SHA-512请自行验证
//下面显示MD5 SHA SHA-256 SHA-512所生成的长度
System.out.println("--MD5--:"+cu.md5Encode("test"));
System.out.println("--SHA--:"+cu.shaEncode("test"));
System.out.println("SHA-256:"+cu.sha256Encode("test"));
System.out.println("SHA-512:"+cu.sha512Encode("test"));
如果条件允许,尽量使用sha256 sha512进行加密
本文深入探讨了Java中用于密码加密的MD5、SHA、SHA-256、SHA-512算法,并通过代码实例展示了如何实现这些加密操作。
5825

被折叠的 条评论
为什么被折叠?



