Apache Commons Codec 使用小结
2014-09-03 13:51
393 查看
最近在做图片下载的时候需要对图片链接url做 SHA1运算后的结果 SHA1(url)当做图片的名称,并且按照SHA1结果的前2位、第3位分别当做一级目录和目录,例如3129f49a746530a891854b171f38a1df3677cc47.jpeg存放的目录结构: 31/2/3129f49a746530a891854b171f38a1df3677cc47.jpeg
关于SHA1算法的介绍可以参看Wiki:http://en.wikipedia.org/wiki/SHA-1
这里简单介绍一下通过 Apache Commons Codec 实现Base64/MD5/SHA1/SHA256等算法,代码如下:
package com.ricky.java.csv.util;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
public class EncryptionUtils {
public static String base64Encode(String data){
return Base64.encodeBase64String(data.getBytes());
}
public static byte[] base64Decode(String data){
return Base64.decodeBase64(data.getBytes());
}
public static String md5(String data) {
return DigestUtils.md5Hex(data);
}
public static String sha1(String data) {
return DigestUtils.shaHex(data);
}
public static String sha256Hex(String data) {
return DigestUtils.sha256Hex(data);
}
/**
* @param args
*/
public static void main(String[] args) {
String base64 = base64Encode("ricky");
System.out.println("base64 encode="+base64);
byte[] buf = base64Decode(base64);
System.out.println("base64 decode="+new String(buf));
String md5 = md5("ricky");
System.out.println("md5="+md5+"**len="+md5.length());
String sha1 = sha1("test");
System.out.println("sha1="+sha1+"**len="+sha1.length());
}
}
关于SHA1算法的介绍可以参看Wiki:http://en.wikipedia.org/wiki/SHA-1
这里简单介绍一下通过 Apache Commons Codec 实现Base64/MD5/SHA1/SHA256等算法,代码如下:
package com.ricky.java.csv.util;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
public class EncryptionUtils {
public static String base64Encode(String data){
return Base64.encodeBase64String(data.getBytes());
}
public static byte[] base64Decode(String data){
return Base64.decodeBase64(data.getBytes());
}
public static String md5(String data) {
return DigestUtils.md5Hex(data);
}
public static String sha1(String data) {
return DigestUtils.shaHex(data);
}
public static String sha256Hex(String data) {
return DigestUtils.sha256Hex(data);
}
/**
* @param args
*/
public static void main(String[] args) {
String base64 = base64Encode("ricky");
System.out.println("base64 encode="+base64);
byte[] buf = base64Decode(base64);
System.out.println("base64 decode="+new String(buf));
String md5 = md5("ricky");
System.out.println("md5="+md5+"**len="+md5.length());
String sha1 = sha1("test");
System.out.println("sha1="+sha1+"**len="+sha1.length());
}
}
相关文章推荐
- Apache组件commons的Codec包的使用实例
- 使用org.apache.commons.codec做md5&SHA1&BASE64加密
- apache.commons.NET.FTP使用小结
- java使用apache commons codec来进行Base64加密解密
- 使用Apache 的commons-net 包实现FTP上传下载小结
- Android中使用Apache Commons Codec找不到类或者方法错误
- Apache及相关软件使用小结
- org.apache.commons.lang.StringUtil的使用(转帖)
- 使用org.apache.commons.mail 发送邮
- Apache Commons FileUpload使用UTF-8时乱码的解决
- commons-logging和apache-log4j的结合使用
- org.apache.commons.digester.Digester使用
- Apache通用日志工具commons-logging和Log4j使用
- 使用org.apache.commons.mail 发送邮件
- Java压缩类库的使用-4.Apache commons compress中的打包、压缩类库
- org.apache.commons.lang.StringUtil的使用(转帖)
- 使用Apache的commons-codes加密
- 使用apache的commons-fileupload实现多文件上传
- 使用struts相关组件上传附件(org.apache.commons.fileupload.*)上传附件--详解
- org.apache.commons.net.ftp使用心得