/** * Decrypts a String encrypted encrypted by the encrypt(String, Key) function. * * @param encryptedVersion The encrypted string * @param keyData The byte[] representation of the Key used in encryption. * @return The decrypted String. * @throws EncryptionException * @throws InvalidKeyException * @throws NoSuchAlgorithmException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException * @throws IOException */ public static byte[] decrypt(byte[] encryptedVersion, Key salt) throws EncryptionException { // Get a cipher object. byte[] result = null; Cipher cipher; try { cipher = Cipher.getInstance(EncryptionAlgorithm.DES.toString()); cipher.init(Cipher.DECRYPT_MODE, salt); result = cipher.doFinal(encryptedVersion); } catch (NoSuchAlgorithmException e) { throw new EncryptionException(e); } catch (NoSuchPaddingException e) { throw new EncryptionException(e); } catch (InvalidKeyException e) { throw new EncryptionException(e); } catch (IllegalBlockSizeException e) { throw new EncryptionException(e); } catch (BadPaddingException e) { throw new EncryptionException(e); } return result; }
public static byte[] encrypt(byte[] toEncrypt, byte[] rawSaltKey) throws EncryptionException { byte[] result = null; Key salt = new SecretKeySpec(rawSaltKey, 0, rawSaltKey.length, EncryptionAlgorithm.DES.toString()); try { Cipher cipher = Cipher.getInstance(EncryptionAlgorithm.DES.toString()); cipher.init(Cipher.ENCRYPT_MODE, salt); result = cipher.doFinal(toEncrypt); } catch (NoSuchAlgorithmException e) { throw new EncryptionException(e); } catch (InvalidKeyException e) { throw new EncryptionException(e); } catch (NoSuchPaddingException e) { throw new EncryptionException(e); } catch (IllegalBlockSizeException e) { throw new EncryptionException(e); } catch (BadPaddingException e) { throw new EncryptionException(e); } return result; }
/** * Decrypts a String encrypted encrypted by the encrypt(String, Key) function. * * @param encryptedVersion The encrypted string * @param rawSaltKey The byte[] representation of the Key used in encryption. * @return The decrypted String. * @throws EncryptionException * @throws InvalidKeyException * @throws NoSuchAlgorithmException * @throws NoSuchPaddingException * @throws IllegalBlockSizeException * @throws BadPaddingException * @throws IOException */ public static byte[] decrypt(byte[] encryptedVersion, byte[] rawSaltKey) throws EncryptionException { // Get a cipher object. byte[] result = null; Key salt = new SecretKeySpec(rawSaltKey, 0, rawSaltKey.length, EncryptionAlgorithm.DES.toString()); Cipher cipher; // decode the BASE64 coded message // BASE64Decoder decoder = new BASE64Decoder(); // byte[] raw = decoder.decodeBuffer(encrypted); try { cipher = Cipher.getInstance(EncryptionAlgorithm.DES.toString()); cipher.init(Cipher.DECRYPT_MODE, salt); result = cipher.doFinal(encryptedVersion); } catch (NoSuchAlgorithmException e) { throw new EncryptionException(e); } catch (NoSuchPaddingException e) { throw new EncryptionException(e); } catch (IllegalBlockSizeException e) { throw new EncryptionException(e); } catch (BadPaddingException e) { throw new EncryptionException(e); } catch (InvalidKeyException e) { throw new EncryptionException(e); } // If you want to return a string // String clear = new String(stringBytes, "UTF8"); // return clear; return result; }
public static byte[] decrypt(String encryptedString, String rawSaltKeyString) throws EncryptionException { byte[] result = null; try { byte[] rawSaltKey = decode(rawSaltKeyString); byte[] encryptedVersion = decode(encryptedString); Key salt = new SecretKeySpec(rawSaltKey, 0, rawSaltKey.length, EncryptionAlgorithm.DES.toString()); result = decrypt(encryptedVersion, salt); } catch (IOException e) { throw new EncryptionException(e); } // If you want to return a string // String clear = new String(stringBytes, "UTF8"); // return clear; return result; }
/** * Generates a java.security.Key using the 'DES' algorithm. * * @return The newly generated Key. * @throws NoSuchAlgorithmException */ public static Key generateKey() throws NoSuchAlgorithmException { KeyGenerator generator; generator = KeyGenerator.getInstance(EncryptionAlgorithm.DES.toString()); generator.init(new SecureRandom()); return generator.generateKey(); }