README.md
Rendering markdown...
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.security.SecureRandom;
import java.util.Base64;
public class Decrypt {
public static void main(String[] args) {
String encrypted = "_encrypted_Lf35uy0hf9JfpGZDc6qu+A==";
String securityKey = "d@a$t%a^r&a*t";
try {
String decrypted = decrypt(encrypted.replaceFirst("_encrypted_", ""), securityKey);
System.out.println(decrypted);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String decrypt(String src, String securityKey) throws Exception {
SecretKeySpec secretKeySpec = keyGen(securityKey);
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
return new String(cipher.doFinal(Base64.getDecoder().decode(src)));
}
private static SecretKeySpec keyGen(String securityKey) throws Exception {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
secureRandom.setSeed(securityKey.getBytes(java.nio.charset.StandardCharsets.UTF_8));
kgen.init(128, secureRandom);
SecretKey secretKey = kgen.generateKey();
byte[] encoded = secretKey.getEncoded();
return new SecretKeySpec(encoded, "AES");
}
}