< P> вот мой рабочий код Cryptojs: < /p>
Код: Выделить всё
const encrypted = CryptoJS.AES.encrypt(data, secret);
Код: Выделить всё
val sha256 = java.security.MessageDigest.getInstance("SHA-256")
val key = new SecretKeySpec(sha256.digest(secret.getBytes("UTF-8")), "AES")
val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding")
val iv = new Array[Byte](16)
new java.security.SecureRandom().nextBytes(iv)
val ivSpec = new IvParameterSpec(iv)
cipher.init(Cipher.ENCRYPT_MODE, key, ivSpec)
val encrypted = cipher.doFinal(data.getBytes("UTF-8"))
val combined = iv ++ encrypted
Base64.getEncoder.encodeToString(combined)
Обе реализации должны создавать зашифрованные данные, которые служба может расшифровать
Фактическое поведение:
Cryptojs шифрование работает и может быть расширено
java/scala шифрование не может быть расширено в результате службы
Вопросы < /strong> < /p>
Какие настройки по умолчанию используются crpptojs.aes.encrypt () < /code >?>
Подробнее здесь: https://stackoverflow.com/questions/794 ... nt-results