commons-codec是Apache下面的一个加解密开发包
官方地址为:http://commons.apache.org/codec/
官方下载地址:http://commons.apache.org/codec/download_codec.cgi
在线文档:http://commons.apache.org/codec/userguide.html
下面示例为使用Base64实现字符串的加解密:
- /**
- *
- * 创建日期2011-4-25上午10:12:38
- * 修改日期
- * 作者:dh *TODO 使用Base64加密算法加密字符串
- *return
- */
- public static String encodeStr(String plainText){
- byte[] b=plainText.getBytes();
- Base64 base64=new Base64();
- b=base64.encode(b);
- String s=new String(b);
- return s;
- }
- /**
- *
- * 创建日期2011-4-25上午10:15:11
- * 修改日期
- * 作者:dh *TODO 使用Base64加密
- *return
- */
- public static String decodeStr(String encodeStr){
- byte[] b=encodeStr.getBytes();
- Base64 base64=new Base64();
- b=base64.decode(b);
- String s=new String(b);
- return s;
- }
commons-codec包可以从apache下载,最新版是1.3
不可逆算法
1.MD5
<!---->String str = "abc";
DigestUtils.md5Hex(str);
DigestUtils.md5Hex(str);
附.net生成MD5的方法,生成内容跟java一致:
<!---->
String str = "abc";
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");
2.SHA1
<!---->String str = "abc";
DigestUtils.shaHex(str);
DigestUtils.shaHex(str);
附.net生成SHA1的方式,生成内容跟java一致:
<!---->
String str = "abc"
;
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");
可逆算法
常规加密解密算法:BASE64
加密
<!---->String str= "abc"; // abc为要加密的字符串
byte[] b = Base64.encodeBase64(str.getBytes(), true);
System.out.println( new String(b));
byte[] b = Base64.encodeBase64(str.getBytes(), true);
System.out.println( new String(b));
解密
<!---->String str = "YWJj"; // YWJj为要解密的字符串
byte[] b = Base64.decodeBase64(str.getBytes());
System.out.println( new String(b));
byte[] b = Base64.decodeBase64(str.getBytes());
System.out.println( new String(b));