· 5 years ago · Mar 19, 2020, 09:00 PM
1import java.util.Base64;
2import javax.crypto.Cipher;
3import javax.crypto.KeyGenerator;
4import javax.crypto.SecretKey;
5
6public class MyClass {
7 static Cipher cipher;
8
9 public static void main(String[] args) throws Exception {
10 KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
11 keyGenerator.init(128);
12 SecretKey secretKey = keyGenerator.generateKey();
13 cipher = Cipher.getInstance("AES");
14
15 String plainText = "AES CRIPTARE SI DECRIPTARE";
16 System.out.println("Textul inaintea criptarii: " + plainText);
17
18 String encryptedText = encrypt(plainText, secretKey);
19 System.out.println("Textul dupa criptare: " + encryptedText);
20
21 String decryptedText = decrypt(encryptedText, secretKey);
22 System.out.println("Textul dupa decriptare: " + decryptedText);
23 }
24
25 public static String encrypt(String plainText, SecretKey secretKey)
26 throws Exception {
27 byte[] plainTextByte = plainText.getBytes();
28 cipher.init(Cipher.ENCRYPT_MODE, secretKey);
29 byte[] encryptedByte = cipher.doFinal(plainTextByte);
30 Base64.Encoder encoder = Base64.getEncoder();
31 String encryptedText = encoder.encodeToString(encryptedByte);
32 return encryptedText;
33 }
34
35 public static String decrypt(String encryptedText, SecretKey secretKey)
36 throws Exception {
37 Base64.Decoder decoder = Base64.getDecoder();
38 byte[] encryptedTextByte = decoder.decode(encryptedText);
39 cipher.init(Cipher.DECRYPT_MODE, secretKey);
40 byte[] decryptedByte = cipher.doFinal(encryptedTextByte);
41 String decryptedText = new String(decryptedByte);
42 return decryptedText;
43 }
44}