Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // encrypt method using AES
- private static byte[] encrypt(byte[] rawKey, byte[] input) throws Exception {
- byte[] rawPaddedKey = new byte[128];
- // Generate the key padding if necessary
- if(rawKey.length < 128){
- // Get the KeyGenerator
- KeyGenerator kgen = KeyGenerator.getInstance("AES");
- kgen.init(128-rawKey.length);
- SecretKey skey = kgen.generateKey();
- byte[] keyPadding = skey.getEncoded();
- System.arraycopy(rawKey, 0, rawPaddedKey, 0, rawKey.length);
- System.arraycopy(rawPaddedKey, 0, rawPaddedKey, rawKey.length, keyPadding.length);
- }
- else{
- System.arraycopy(rawKey, 0, rawPaddedKey, 0, rawKey.length);
- }
- // construct secret key from rawPaddedKey byte stream using AES
- SecretKeySpec skeySpec = new SecretKeySpec(rawPaddedKey, "AES");
- // generate cipher object for AES transformation
- Cipher cipher = Cipher.getInstance("AES");
- // initialize cipher with secret key in encrypt mode
- cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
- // encrypt data
- byte[] encrypted = cipher.doFinal(input);
- return encrypted;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement