/*     */ package com.picc.grab.util;
/*     */ 
/*     */ import java.security.SecureRandom;
/*     */ import javax.crypto.Cipher;
/*     */ import javax.crypto.SecretKey;
/*     */ import javax.crypto.SecretKeyFactory;
/*     */ import javax.crypto.spec.DESKeySpec;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class StringEncrypt
/*     */ {
/*     */   private static final String PASSWORD_CRYPT_KEY = "ManageDemo@";
/*     */   private static final String DES = "DES";
/*     */   private static final String NOPWDLOGINTOKEN = "NOPWDLOGINTOKEN";
/*     */   
/*     */   public static final String decryptNoPwdLoginToken(String data) {
/*     */     try {
/*  29 */       return new String(decrypt(hex2byte(data.getBytes()), "NOPWDLOGINTOKEN".getBytes()));
/*     */     }
/*  31 */     catch (Exception exception) {
/*     */ 
/*     */ 
/*     */       
/*  35 */       return null;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static final String encryptNoPwdLoginToken(String password) {
/*     */     try {
/*  49 */       return byte2hex(encrypt(password.getBytes(), "NOPWDLOGINTOKEN".getBytes()));
/*  50 */     } catch (Exception exception) {
/*     */ 
/*     */       
/*  53 */       return null;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static byte[] encrypt(byte[] src, byte[] key) throws Exception {
/*  70 */     SecureRandom sr = new SecureRandom();
/*     */ 
/*     */     
/*  73 */     DESKeySpec dks = new DESKeySpec(key);
/*     */ 
/*     */ 
/*     */     
/*  77 */     SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
/*     */     
/*  79 */     SecretKey securekey = keyFactory.generateSecret(dks);
/*     */ 
/*     */     
/*  82 */     Cipher cipher = Cipher.getInstance("DES");
/*     */ 
/*     */     
/*  85 */     cipher.init(1, securekey, sr);
/*     */ 
/*     */ 
/*     */     
/*  89 */     return cipher.doFinal(src);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static byte[] decrypt(byte[] src, byte[] key) throws Exception {
/* 108 */     SecureRandom sr = new SecureRandom();
/*     */ 
/*     */     
/* 111 */     DESKeySpec dks = new DESKeySpec(key);
/*     */ 
/*     */ 
/*     */ 
/*     */     
/* 116 */     SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
/* 117 */     SecretKey securekey = keyFactory.generateSecret(dks);
/*     */ 
/*     */     
/* 120 */     Cipher cipher = Cipher.getInstance("DES");
/*     */ 
/*     */     
/* 123 */     cipher.init(2, securekey, sr);
/*     */ 
/*     */ 
/*     */     
/* 127 */     return cipher.doFinal(src);
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static final String decrypt(String data) {
/* 141 */     return decrypt(data, "ManageDemo@");
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static final String decrypt(String data, String secret) {
/*     */     try {
/* 158 */       return new String(decrypt(hex2byte(data.getBytes()), secret.getBytes()));
/*     */     }
/* 160 */     catch (Exception exception) {
/*     */ 
/*     */ 
/*     */       
/* 164 */       return null;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static final String encrypt(String password, String secret) {
/*     */     try {
/* 179 */       return byte2hex(encrypt(password.getBytes(), secret.getBytes()));
/* 180 */     } catch (Exception exception) {
/*     */ 
/*     */       
/* 183 */       return null;
/*     */     } 
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static final String encrypt(String password) {
/* 194 */     return encrypt(password, "ManageDemo@");
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static String byte2hex(byte[] b) {
/* 205 */     String hs = "";
/* 206 */     String stmp = "";
/*     */     
/* 208 */     for (int n = 0; n < b.length; n++) {
/* 209 */       stmp = Integer.toHexString(b[n] & 0xFF);
/*     */       
/* 211 */       if (stmp.length() == 1) {
/* 212 */         hs = hs + "0" + stmp;
/*     */       } else {
/* 214 */         hs = hs + stmp;
/*     */       } 
/*     */     } 
/* 217 */     return hs.toUpperCase();
/*     */   }
/*     */ 
/*     */   
/*     */   private static byte[] hex2byte(byte[] b) {
/* 222 */     if (b.length % 2 != 0) {
/* 223 */       throw new IllegalArgumentException("长度不是偶数");
/*     */     }
/* 225 */     byte[] b2 = new byte[b.length / 2];
/* 226 */     for (int n = 0; n < b.length; n += 2) {
/* 227 */       String item = new String(b, n, 2);
/* 228 */       b2[n / 2] = (byte)Integer.parseInt(item, 16);
/*     */     } 
/*     */     
/* 231 */     return b2;
/*     */   }
/*     */   
/*     */   public static void main(String[] args) {
/* 235 */     System.out.println("DES DEMO");
/* 236 */     String str = "E749E9387709CE8D4ED499D76DB1622ACE313F1B2711FA1F23F07F9BD6C8ED12";
/* 237 */     System.out.println("key =" + str);
/* 238 */     String strEnc = encrypt(str);
/* 239 */     System.out.println("密文=" + strEnc);
/* 240 */     String strDes = decrypt(strEnc);
/* 241 */     System.out.println("明文=" + strDes);
/*     */   }
/*     */ }


/* Location:              C:\Users\Administrator\Desktop\ROOT\WEB-INF\classes\!\com\picc\gra\\util\StringEncrypt.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */