Des.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.jtgh.yjpt.common;
  2. import java.security.SecureRandom;
  3. import javax.crypto.Cipher;
  4. import javax.crypto.SecretKey;
  5. import javax.crypto.SecretKeyFactory;
  6. import javax.crypto.spec.DESKeySpec;
  7. public class Des {
  8. /**
  9. * @param args
  10. */
  11. public static void main(String[] args) {
  12. try {
  13. System.out.println(encrypt("123456"));
  14. System.out.println(decrypt(encrypt("123456")));
  15. } catch (Exception e) {
  16. // TODO Auto-generated catch block
  17. e.printStackTrace();
  18. }
  19. }
  20. /**
  21. * DES�㷨��Կ
  22. */
  23. private static final String DES_KEY = "yjpt_gkj";
  24. /**
  25. * ��ݼ��ܣ��㷨��DES��
  26. *
  27. * @param data
  28. * Ҫ���м��ܵ����
  29. * @return ���ܺ�����
  30. */
  31. public static String encrypt(String data) {
  32. String encryptedData = null;
  33. try {
  34. // DES�㷨Ҫ����һ�������ε������Դ
  35. SecureRandom sr = new SecureRandom();
  36. DESKeySpec deskey = new DESKeySpec(DES_KEY.getBytes());
  37. // ����һ���ܳ׹�����Ȼ�������DESKeySpecת����һ��SecretKey����
  38. SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  39. SecretKey key = keyFactory.generateSecret(deskey);
  40. // ���ܶ���
  41. Cipher cipher = Cipher.getInstance("DES");
  42. cipher.init(Cipher.ENCRYPT_MODE, key, sr);
  43. // ���ܣ������ֽ����������ַ�
  44. encryptedData = new sun.misc.BASE64Encoder().encode(cipher
  45. .doFinal(data.getBytes()));
  46. } catch (Exception e) {
  47. // log.error("���ܴ��󣬴�����Ϣ��", e);
  48. throw new RuntimeException("���ܴ��󣬴�����Ϣ��", e);
  49. }
  50. return encryptedData;
  51. }
  52. /**
  53. * ��ݽ��ܣ��㷨��DES��
  54. *
  55. * @param cryptData
  56. * �������
  57. * @return ���ܺ�����
  58. */
  59. public static String decrypt(String cryptData) {
  60. String decryptedData = null;
  61. try {
  62. // DES�㷨Ҫ����һ�������ε������Դ
  63. SecureRandom sr = new SecureRandom();
  64. DESKeySpec deskey = new DESKeySpec(DES_KEY.getBytes());
  65. // ����һ���ܳ׹�����Ȼ�������DESKeySpecת����һ��SecretKey����
  66. SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
  67. SecretKey key = keyFactory.generateSecret(deskey);
  68. // ���ܶ���
  69. Cipher cipher = Cipher.getInstance("DES");
  70. cipher.init(Cipher.DECRYPT_MODE, key, sr);
  71. // ���ַ����Ϊ�ֽ����飬������
  72. decryptedData = new String(
  73. cipher.doFinal(new sun.misc.BASE64Decoder()
  74. .decodeBuffer(cryptData)));
  75. } catch (Exception e) {
  76. // log.error("���ܴ��󣬴�����Ϣ��", e);
  77. throw new RuntimeException("���ܴ��󣬴�����Ϣ��", e);
  78. }
  79. return decryptedData;
  80. }
  81. }