Я использую Apache Camel CryptoDataFormat для шифрования тела, у меня есть собственный ключ шифрования для него, который является алгоритмом String и Using «AES / CBC / PKCS5Padding». Я получаю неправильное шифрование, и ни одно из них не расшифровано должным образом.
Мой код выглядит следующим образом:
pom.xml
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-crypto</artifactId>
<version>2.23.1</version>
</dependency>
camel route:
@Override
public void configure() throws Exception {
SecretKeySpec keySpec = new SecretKeySpec(Base64.getDecoder().decode("ABCKEY123"), "AES");
CryptoDataFormat cryptoFormat = new CryptoDataFormat("AES/CBC/PKCS5Padding", keySpec);
from("{{direct:ABC}}")
.process(someprocessor)
.marshal(xmlDataFormat)
.log("MARSHALLED message: ${body}")
.marshal(cryptoFormat)
.log("Encrypted data: ${body}")
.unmarshal(cryptoFormat)
.log("Decrypted data: ${body}").end();