密码、文件MD5加密,密码sha256、sha384、sha512Hex等加密
来源:互联网 发布:淘宝 7个小白 编辑:程序博客网 时间:2024/04/27 06:18
package encryption;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.util.Arrays;import org.apache.commons.codec.binary.Base64OutputStream;import org.apache.commons.codec.digest.DigestUtils;import org.apache.commons.codec.digest.MessageDigestAlgorithms;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/** * 加密工具类 * @author wangzg * @Date 2014-7-25 * @Need commons-codec-*.*.jar */public class Encryption {/** * @Title: main * @Description: * @param: * @return void * @user: wangzg * @Date:2014-7-25 * @throws */public static void main(String[] args) { String strSource = "admin"; String str = getMd5(strSource); System.out.println(strSource+",length:"+str.length()+",md5:"+str); str = getSha1(strSource); System.out.println(strSource+",length:"+str.length()+",Sha1:"+str); str = getSha256(strSource); System.out.println(strSource+",length:"+str.length()+",Sha256:"+str); str = getSha384(strSource); System.out.println(strSource+",length:"+str.length()+",Sha384:"+str); str = getSha512(strSource); System.out.println(strSource+",length:"+str.length()+",Sha512:"+str); digestFile("doc\\1.txt",MessageDigestAlgorithms.MD5); String target = getBase64(strSource); System.out.println(strSource); System.out.println(target); System.out.println(getFromBase64(target)); }/** * MD5加密,返回32位十六进制字符串 * @Title: getMD5 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getMd5(String source){return DigestUtils.md5Hex(source);}/** * sha1加密,返回40位十六进制字符串 * @Title: getSha1 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getSha1(String source){return DigestUtils.sha1Hex(source);}/** * sha256加密,返回64位十六进制字符串 * @Title: getSha256 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getSha256(String source){return DigestUtils.sha256Hex(source);}/** * sha384加密,返回96位十六进制字符串 * @Title: getSha384 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getSha384(String source){return DigestUtils.sha384Hex(source);}/** * sha512加密,返回128位十六进制字符串 * @Title: getSha512 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getSha512(String source){return DigestUtils.sha512Hex(source);}/** * 文件加密 * @Title: digestFile * @Description: * @param:filename:加密文件,algorithm:加密算法 * @return void * @user: wangzg * @Date:2014-7-25 * @throws */public static void digestFile(String filename, String algorithm) { byte[] b = new byte[1024 * 4]; int len = 0; FileInputStream fis = null; FileOutputStream fos = null; try { MessageDigest md = MessageDigest.getInstance(algorithm); fis = new FileInputStream(filename); while ((len = fis.read(b)) != -1) { md.update(b, 0, len); } byte[] digest = md.digest(); //System.out.println(Arrays.toString(digest)); StringBuffer fileNameBuffer = new StringBuffer(128).append(filename).append(".").append(algorithm); fos = new FileOutputStream(fileNameBuffer.toString()); OutputStream encodedStream = new Base64OutputStream(fos); encodedStream.write(digest); encodedStream.flush(); encodedStream.close(); } catch (Exception e) { System.out.println("Error computing Digest: " + e); } finally { try { if (fis != null) fis.close(); if (fos != null) fos.close(); } catch (Exception ignored) { } } } /** * Base64加密 * @Title: getBase64 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getBase64(String str) {byte[] b = null;String s = null;try {b = str.getBytes("utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}if (b != null) {s = new BASE64Encoder().encode(b);}return s;}/** * Base64解密 * @Title: getFromBase64 * @Description: * @param: * @return String * @user: wangzg * @Date:2014-7-25 * @throws */public static String getFromBase64(String s) {byte[] b = null;String result = null;if (s != null) {BASE64Decoder decoder = new BASE64Decoder();try {b = decoder.decodeBuffer(s);result = new String(b, "utf-8");} catch (Exception e) {e.printStackTrace();}}return result;}}
2 0
- 密码、文件MD5加密,密码sha256、sha384、sha512Hex等加密
- 密码、文件MD5加密,密码sha256、sha384、sha512Hex等加密
- 密码、文件MD5加密,密码sha256、sha384、sha512Hex等加密
- 密码、文件MD5加密,密码sha256、sha384、sha512Hex等加密
- .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
- IOS 密码加密 SHA256+GTMBase64
- SHA256加密,MD5加密
- MD5加密(密码加密)
- MD5加密密码!
- MD5 密码加密
- MD5加密密码
- java 密码MD5加密
- C#MD5密码加密
- 密码加密MD5
- java密码MD5加密
- 密码进行MD5加密
- Android 密码MD5加密
- iOS MD5 加密 密码
- 理解HTTP消息头
- 【数据结构和算法分析】单链表的基本实现
- feof函数详解
- 换位
- 指定范围的素数判定【杭电2012】 附题
- 密码、文件MD5加密,密码sha256、sha384、sha512Hex等加密
- 管理寓言之一:南风法则
- SQLAPI++的几个示例
- HTTP协议的头信息详解
- iOS protubuf 的使用
- 管理寓言之二:“木桶”法则
- HTTP1.1状态代码及其含义
- HDU 4876 ZCC loves cards
- CAL3D 结构分析(2)