From 19554a6acf91cf3f10ac07375076c6c20c4a4b2c Mon Sep 17 00:00:00 2001 From: Keith Armstrong Date: Fri, 10 Jan 2025 00:22:31 +0000 Subject: [PATCH] Renamed the class, and therefore orphaned --- src/com/belkast/soap/salter.java | 79 -------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 src/com/belkast/soap/salter.java diff --git a/src/com/belkast/soap/salter.java b/src/com/belkast/soap/salter.java deleted file mode 100644 index c0bf75c..0000000 --- a/src/com/belkast/soap/salter.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.belkast.soap; - -import javax.crypto.*; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.PBEKeySpec; -import javax.crypto.spec.SecretKeySpec; -import java.io.UnsupportedEncodingException; -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.security.spec.InvalidKeySpecException; -import java.security.spec.KeySpec; -import java.util.Base64; - -public class salter { - - private static final int KEY_LENGTH = 256; - private static final int ITERATION_COUNT = 65536; - - public static String encrypt(String strToEncrypt, String secretKey, String salt) throws InvalidAlgorithmParameterException, NoSuchPaddingException, IllegalBlockSizeException, UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeySpecException, BadPaddingException, InvalidKeyException { - - try { - - SecureRandom secureRandom = new SecureRandom(); - byte[] iv = new byte[16]; - secureRandom.nextBytes(iv); - IvParameterSpec ivspec = new IvParameterSpec(iv); - - SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256"); - KeySpec spec = new PBEKeySpec(secretKey.toCharArray(), salt.getBytes(), ITERATION_COUNT, KEY_LENGTH); - SecretKey tmp = factory.generateSecret(spec); - SecretKeySpec secretKeySpec = new SecretKeySpec(tmp.getEncoded(), "AES"); - - Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivspec); - - byte[] cipherText = cipher.doFinal(strToEncrypt.getBytes("UTF-8")); - byte[] encryptedData = new byte[iv.length + cipherText.length]; - System.arraycopy(iv, 0, encryptedData, 0, iv.length); - System.arraycopy(cipherText, 0, encryptedData, iv.length, cipherText.length); - - return Base64.getEncoder().encodeToString(encryptedData); - } catch (Exception e) { - throw e; - } - } - - public static String decrypt(String strToDecrypt, String secretKey, String salt) throws InvalidAlgorithmParameterException, NoSuchPaddingException, IllegalBlockSizeException, UnsupportedEncodingException, BadPaddingException, NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException { - - try { - if (strToDecrypt == null) - { - return null; - } - - byte[] encryptedData = Base64.getDecoder().decode(strToDecrypt); - byte[] iv = new byte[16]; - System.arraycopy(encryptedData, 0, iv, 0, iv.length); - IvParameterSpec ivspec = new IvParameterSpec(iv); - - SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256"); - KeySpec spec = new PBEKeySpec(secretKey.toCharArray(), salt.getBytes(), ITERATION_COUNT, KEY_LENGTH); - SecretKey tmp = factory.generateSecret(spec); - SecretKeySpec secretKeySpec = new SecretKeySpec(tmp.getEncoded(), "AES"); - - Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); - cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivspec); - - byte[] cipherText = new byte[encryptedData.length - 16]; - System.arraycopy(encryptedData, 16, cipherText, 0, cipherText.length); - - byte[] decryptedText = cipher.doFinal(cipherText); - return new String(decryptedText, "UTF-8"); - } catch (Exception e) { - throw e; - } - } -} \ No newline at end of file