忘了哪里看到了。就不写源地址了
[1].[代码] MD5 跳至 [1] [2] [3]
1 | String str = "abc" ; |
2 | DigestUtils.md5Hex(str); |
3 |
4 | //附.net生成MD5的方法,生成内容跟java一致: |
5 | String str = "abc" ; |
6 | FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5" ); |
[2].[代码] SHA1 跳至 [1] [2] [3]
1 | String str = "abc" ; |
2 | DigestUtils.shaHex(str); |
3 |
4 | //附.net生成SHA1的方式,生成内容跟java一致: |
5 | String str = "abc" ; |
6 | FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1" ); |
[3].[代码] BASE64 跳至 [1] [2] [3]
1 | //加密 |
2 | String str= "abc" ; // abc为要加密的字符串 |
3 | byte [] b = Base64.encodeBase64(str.getBytes(), true ); |
4 | System.out.println( new String(b)); |
5 |
6 | //解密 |
7 | String str = "YWJj" ; // YWJj为要解密的字符串 |
8 | byte [] b = Base64.decodeBase64(str.getBytes()); |
9 | System.out.println( new String(b)); |
Commons Codec提供了消息摘要的工具类-----DigestUtils类。DigestUtils类是对Sun提供的MessageDigest类的一次封装,提供了MD5和SHA系列消息摘要算法的实现。
//sun提供的MessageDigest实现MD5加密
public static String getMD5String(String str) {
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException caught!");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
return md5StrBuff.toString();
}