-
Notifications
You must be signed in to change notification settings - Fork 0
/
Decrypter.java
30 lines (25 loc) · 899 Bytes
/
Decrypter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
* Based on the DevMedia article:
* https://www.devmedia.com.br/utilizando-criptografia-simetrica-em-java/31170
*
* @author Matheus Teles
*/
public class Decrypter {
private String IV;
private byte[] encryptedText;
private String cryptographyKey;
public Decrypter(String IV, byte[] encryptedText, String cryptographyKey) {
this.IV = IV;
this.encryptedText = encryptedText;
this.cryptographyKey = cryptographyKey;
}
public String decrypt() throws Exception {
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding", "SunJCE");
SecretKeySpec key = new SecretKeySpec(cryptographyKey.getBytes("UTF-8"), "AES");
cipher.init(Cipher.DECRYPT_MODE, key, new IvParameterSpec(IV.getBytes("UTF-8")));
return new String(cipher.doFinal(encryptedText), "UTF-8");
}
}