Шифрование CryptoJS AES и дешифрование Java AES

Я спрашиваю об этом только потому, что за 2 дня я прочитал много постов о криптографическом шифровании AES, и как только я подумал, что получаю его, я понял, что вообще его не получаю.

Этот пост является самым близким к моей проблеме, у меня точно такая же проблема, но она остается без ответа:

CryptoJS AES-шифрование и JAVA AES-значение дешифрования не совпадают

Я пытался сделать это разными способами, но я не понял это правильно.

Прежде всего

Я получаю уже зашифрованную строку (я только получил код, чтобы увидеть, как они это делают), поэтому изменение способа шифрования не вариант. Вот почему все подобные вопросы не так полезны для меня.

второй

У меня есть доступ к секретному ключу, и я могу изменить его (поэтому настройка длины является опцией, если это необходимо).

Шифрование выполняется на CryptoJS, и они отправляют зашифрованную строку в качестве параметра GET.

GetParamsForAppUrl.prototype.generateUrlParams = function() {
const self = this;
 return new Promise((resolve, reject) => {
   const currentDateInMilliseconds = new Date().getTime();
   const secret = tokenSecret.secret;
   var encrypted = CryptoJS.AES.encrypt(self.authorization, secret);
   encrypted = encrypted.toString();
   self.urlParams = {
     token: encrypted,
     time: currentDateInMilliseconds
   };
   resolve();
 });
};

Я могу легко расшифровать это на JavaScript, используя CryptoJS с:

var decrypted = CryptoJS.AES.decrypt(encrypted_string, secret);
    console.log(decrypted.toString(CryptoJS.enc.Utf8)); 

Но я не хочу делать это на Javascript по соображениям безопасности, поэтому я пытаюсь расшифровать это на Java:

String secret = "secret";
byte[] cipherText = encrypted_string.getBytes("UTF8");
SecretKey secKey = new SecretKeySpec(secret.getBytes(), "AES");
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.DECRYPT_MODE, secKey);
byte[] bytePlainText = aesCipher.doFinal(byteCipherText);
String myDecryptedText = = new String(bytePlainText);

Прежде, чем я имел какое-либо представление о том, что я делал, я попробовал декодирование base64, добавив несколько IV и много прочитанного материала, конечно, ничего из этого не сработало.

Но после того, как я начал понимать, что я делал, я написал этот простой сценарий выше и получил ту же ошибку в посте:Неверная длина ключа AES

Я не знаю, куда идти отсюда. После прочтения этого решения, похоже, решение заключается в хешировании или заполнении, но у меня нет контроля над методом шифрования, поэтому я не могу по-настоящему хэшировать секрет или дополнять его.

Но, как я уже сказал, я могу изменить секретный ключ, чтобы он соответствовал определенной длине, и я попытался изменить его, но, поскольку я снимаю в темноте, я действительно не знаю, является ли это решением.

Итак, мой вопрос в основном, если я получил зашифрованную строку (в JavaScript, как первый сценарий) и секретный ключ, есть ли способ расшифровать его (на Яве)? Если да, то как это сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос