以下代码有效,但仅适用于128位。我没有失败,因为JCE缺乏对高速加密的支持(我已经解决了这个问题),但我正在寻找一种方法来支持非默认密钥率。
def encrypt(iv4bytes: Array[Byte], pass: String, indata: Array[Byte]): Array[Byte] = {
val cipher = Cipher.getInstance("AES/CBC/NoPadding", "SunJCE") // Get a cipher object
val key = new SecretKeySpec(pass.getBytes("UTF-8"), "AES") // Get our key object
cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(iv4bytes)) // Initialize crypto
return cipher.doFinal(indata) // And do the encryption
}