Java常用加密算法工具类

来源:互联网 发布:淘宝生e经怎么找不到 编辑:程序博客网 时间:2024/05/16 08:29
    import java.io.IOException;      import java.math.BigInteger;      import java.security.MessageDigest;      import java.security.NoSuchAlgorithmException;      import sun.misc.BASE64Decoder;      import sun.misc.BASE64Encoder;            /**      * 常用加密算法工具类      * @author cq      */      public class EncryptUtils {                    /**          * 用MD5算法进行加密          * @param str 需要加密的字符串          * @return MD5加密后的结果          */          public static String encodeMD5String(String str) {              return encode(str, "MD5");          }                /**          * 用SHA算法进行加密          * @param str 需要加密的字符串          * @return SHA加密后的结果          */          public static String encodeSHAString(String str) {              return encode(str, "SHA");          }                /**          * 用base64算法进行加密          * @param str 需要加密的字符串          * @return base64加密后的结果          */          public static String encodeBase64String(String str) {              BASE64Encoder encoder =  new BASE64Encoder();              return encoder.encode(str.getBytes());          }                    /**          * 用base64算法进行解密          * @param str 需要解密的字符串          * @return base64解密后的结果          * @throws IOException           */          public static String decodeBase64String(String str) throws IOException {              BASE64Decoder encoder =  new BASE64Decoder();              return new String(encoder.decodeBuffer(str));          }                    private static String encode(String str, String method) {              MessageDigest md = null;              String dstr = null;              try {                  md = MessageDigest.getInstance(method);                  md.update(str.getBytes());                  dstr = new BigInteger(1, md.digest()).toString(16);              } catch (NoSuchAlgorithmException e) {                  e.printStackTrace();              }              return dstr;          }                    public static void main(String[] args) throws IOException {              String user = "oneadmin";              System.out.println("原始字符串 " + user);              System.out.println("MD5加密 " + encodeMD5String(user));              System.out.println("SHA加密 " + encodeSHAString(user));              String base64Str = encodeBase64String(user);              System.out.println("Base64加密 " + base64Str);              System.out.println("Base64解密 " + decodeBase64String(base64Str));          }      }