Chinaunix首页 | 论坛 | 博客
  • 博客访问: 218507
  • 博文数量: 11
  • 博客积分: 2511
  • 博客等级: 少校
  • 技术积分: 555
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-31 22:52
文章分类

全部博文(11)

文章存档

2009年(1)

2008年(10)

我的朋友

分类: Java

2008-12-13 14:52:02

据说MD5加密已经被破解,SHA-256现在还未被破解,具体代码如下

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class StringEncrypt {
    /**
     * 对字符串加密,加密算法使用MD5,SHA-1,SHA-256,默认使用SHA-256
     *
     * @param strSrc
     *            要加密的字符串
     * @param encName
     *            加密类型
     * @return
     */
    public static String Encrypt(String strSrc, String encName) {
        MessageDigest md = null;
        String strDes = null;

        byte[] bt = strSrc.getBytes();
        try {
            if (encName == null || encName.equals("")) {
                encName = "SHA-256";
            }
            md = MessageDigest.getInstance(encName);
            md.update(bt);
            strDes = bytes2Hex(md.digest()); // to HexString
        } catch (NoSuchAlgorithmException e) {
            return null;
        }
        return strDes;
    }

    public static String bytes2Hex(byte[] bts) {
        String des = "";
        String tmp = null;
        for (int i = 0; i < bts.length; i++) {
            tmp = (Integer.toHexString(bts[i] & 0xFF));
            if (tmp.length() == 1) {
                des += "0";
            }
            des += tmp;
        }
        return des;
    }
}
阅读(4072) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~