2021-09-01 00:16:50 +02:00
|
|
|
package nodomain.freeyourgadget.gadgetbridge.util;
|
|
|
|
|
|
|
|
import android.annotation.SuppressLint;
|
|
|
|
|
|
|
|
import java.security.InvalidKeyException;
|
|
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
|
|
|
|
|
import javax.crypto.BadPaddingException;
|
|
|
|
import javax.crypto.Cipher;
|
|
|
|
import javax.crypto.IllegalBlockSizeException;
|
|
|
|
import javax.crypto.NoSuchPaddingException;
|
|
|
|
import javax.crypto.spec.SecretKeySpec;
|
|
|
|
|
|
|
|
public class CryptoUtils {
|
|
|
|
public static byte[] encryptAES(byte[] value, byte[] secretKey) throws InvalidKeyException, NoSuchPaddingException, NoSuchAlgorithmException, BadPaddingException, IllegalBlockSizeException {
|
|
|
|
@SuppressLint("GetInstance") Cipher ecipher = Cipher.getInstance("AES/ECB/NoPadding");
|
|
|
|
SecretKeySpec newKey = new SecretKeySpec(secretKey, "AES");
|
|
|
|
ecipher.init(Cipher.ENCRYPT_MODE, newKey);
|
|
|
|
return ecipher.doFinal(value);
|
|
|
|
}
|
2022-02-02 12:57:25 +01:00
|
|
|
|
|
|
|
public static byte[] decryptAES(byte[] value, byte[] secretKey) throws InvalidKeyException, NoSuchPaddingException, NoSuchAlgorithmException, BadPaddingException, IllegalBlockSizeException {
|
|
|
|
@SuppressLint("GetInstance") Cipher ecipher = Cipher.getInstance("AES/ECB/NoPadding");
|
|
|
|
SecretKeySpec newKey = new SecretKeySpec(secretKey, "AES");
|
|
|
|
ecipher.init(Cipher.DECRYPT_MODE, newKey);
|
|
|
|
return ecipher.doFinal(value);
|
|
|
|
}
|
2021-09-01 00:16:50 +02:00
|
|
|
}
|