· 7 years ago · Apr 12, 2018, 04:10 PM
1String str = "coucou";
2
3byte[] keyStart = "this is a key".getBytes();
4KeyGenerator kgen = KeyGenerator.getInstance("AES");
5SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
6sr.setSeed(keyStart);
7kgen.init(256, sr); // 192 and 256 bits may not be available
8SecretKey skey = kgen.generateKey();
9
10
11SecretKeySpec skeySpec = new SecretKeySpec(skey.getEncoded(), "AES");
12Cipher cipher = Cipher.getInstance("AES");
13cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
14byte[] encrypted = cipher.doFinal(str.getBytes(StandardCharsets.UTF_8));
15
16SecretKeySpec skeySpec2 = new SecretKeySpec(skey.getEncoded(), "AES");
17Cipher cipher2 = Cipher.getInstance("AES");
18cipher2.init(Cipher.DECRYPT_MODE, skeySpec2);
19byte[] decrypted = cipher2.doFinal(encrypted);
20
21new String(decrypted, StandardCharsets.UTF_8);