DES加密工具类_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > DES加密工具类

DES加密工具类

 2013/10/8 15:42:21  songchuanlu  程序员俱乐部  我要评论(0)
  • 摘要:importjava.security.Provider;importjava.security.Security;importjavax.crypto.Cipher;importjavax.crypto.spec.DESKeySpec;importjavax.crypto.spec.SecretKeySpec;/***DES加密工具类**@author宋陆*@date2013-10-8*@version1.0*/publicclassDesUtil
  • 标签:工具
class="java" name="code">import java.security.Provider;
import java.security.Security;

import javax.crypto.Cipher;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.SecretKeySpec;

/**
 * DES加密工具类
 * 
 * @author 宋陆
 * @date 2013-10-8
 * @version 1.0
 */
public class DesUtil {

    private static final String KEY = "chuanlu";

    public static String encrypt(String strDataToEncrypt) {
        byte[] key = KEY.getBytes();

        Provider sunJCE = new com.sun.crypto.provider.SunJCE();
        Security.addProvider(sunJCE);

        String strAlgorithm = "DES";
        SecretKeySpec keySpec = null;
        DESKeySpec deskey = null;
        String strResult = "";

        try {
            deskey = new DESKeySpec(key);
            keySpec = new SecretKeySpec(deskey.getKey(), "DES");

            Cipher cipher = Cipher.getInstance(strAlgorithm);

            cipher.init(Cipher.ENCRYPT_MODE, keySpec);

            byte[] utf8 = strDataToEncrypt.getBytes("UTF8");

            byte[] enc = cipher.doFinal(utf8);

            strResult = new sun.misc.BASE64Encoder().encode(enc);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return strResult;
    }

    /**
     * This function decrypt a given string using the DES algorithm.
     * 
     * @param strDataToDecrypt
     *            The String to decrypt
     * @param strKey
     *            The generated key used to decrypt
     * @return The encrypted string
     */
    public static String decrypt(String strDataToDecrypt) {
        byte[] key = KEY.getBytes();
        Provider sunJCE = new com.sun.crypto.provider.SunJCE();
        Security.addProvider(sunJCE);

        String strAlgorithm = "DES";
        SecretKeySpec keySpec = null;
        DESKeySpec deskey = null;
        String strResult = "";

        try {
            deskey = new DESKeySpec(key);
            keySpec = new SecretKeySpec(deskey.getKey(), "DES");

            Cipher cipher = Cipher.getInstance(strAlgorithm);
            cipher.init(Cipher.DECRYPT_MODE, keySpec);

            byte[] dec = new sun.misc.BASE64Decoder().decodeBuffer(strDataToDecrypt);

            byte[] utf8 = cipher.doFinal(dec);

            return new String(utf8, "UTF8");
        }

        catch (Exception e) {
            e.printStackTrace();
        }

        return strResult;
    }
}

?

发表评论
用户名: 匿名