1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package com.jtgh.yjpt.common;
- import java.security.SecureRandom;
- import javax.crypto.Cipher;
- import javax.crypto.SecretKey;
- import javax.crypto.SecretKeyFactory;
- import javax.crypto.spec.DESKeySpec;
- public class Des {
- /**
- * @param args
- */
- public static void main(String[] args) {
- try {
- System.out.println(encrypt("123456"));
- System.out.println(decrypt(encrypt("123456")));
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- /**
- * DES�㷨��Կ
- */
- private static final String DES_KEY = "yjpt_gkj";
- /**
- * ��ݼ��ܣ��㷨��DES��
- *
- * @param data
- * Ҫ���м��ܵ����
- * @return ���ܺ�����
- */
- public static String encrypt(String data) {
- String encryptedData = null;
- try {
- // DES�㷨Ҫ����һ�������ε������Դ
- SecureRandom sr = new SecureRandom();
- DESKeySpec deskey = new DESKeySpec(DES_KEY.getBytes());
- // ����һ���ܳ�����Ȼ�������DESKeySpecת����һ��SecretKey����
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey key = keyFactory.generateSecret(deskey);
- // ���ܶ���
- Cipher cipher = Cipher.getInstance("DES");
- cipher.init(Cipher.ENCRYPT_MODE, key, sr);
- // ���ܣ������ֽ����������ַ�
- encryptedData = new sun.misc.BASE64Encoder().encode(cipher
- .doFinal(data.getBytes()));
- } catch (Exception e) {
- // log.error("���ܴ�������Ϣ��", e);
- throw new RuntimeException("���ܴ�������Ϣ��", e);
- }
- return encryptedData;
- }
- /**
- * ��ݽ��ܣ��㷨��DES��
- *
- * @param cryptData
- * �������
- * @return ���ܺ�����
- */
- public static String decrypt(String cryptData) {
- String decryptedData = null;
- try {
- // DES�㷨Ҫ����һ�������ε������Դ
- SecureRandom sr = new SecureRandom();
- DESKeySpec deskey = new DESKeySpec(DES_KEY.getBytes());
- // ����һ���ܳ�����Ȼ�������DESKeySpecת����һ��SecretKey����
- SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
- SecretKey key = keyFactory.generateSecret(deskey);
- // ���ܶ���
- Cipher cipher = Cipher.getInstance("DES");
- cipher.init(Cipher.DECRYPT_MODE, key, sr);
- // ���ַ����Ϊ�ֽ����飬������
- decryptedData = new String(
- cipher.doFinal(new sun.misc.BASE64Decoder()
- .decodeBuffer(cryptData)));
- } catch (Exception e) {
- // log.error("���ܴ�������Ϣ��", e);
- throw new RuntimeException("���ܴ�������Ϣ��", e);
- }
- return decryptedData;
- }
- }
|