2016-09-03 4 views
0

Я пытаюсь в течение некоторого времени расшифровать сообщение в AES, которое использует приложение Java, но оно никогда не работает. Кто-нибудь может мне помочь?Как расшифровать AES с CryptoJS

var options = { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }; 

     /*** encrypt */ 
     var json = CryptoJS.AES.encrypt("Message", "KEY", options); 
     var ciphertext = json.ciphertext.toString(CryptoJS.enc.Base64); 
      console.log("chiper text ", ciphertext); 

     /*** decrypt */ 
     var decrypted = CryptoJS.AES.decrypt(json, "KEY", options); 
     var plaintext = decrypted.toString(CryptoJS.enc.Utf8); 
      console.log("decrypted ", plaintext); 

Но он всегда генерирует другой зашифрованный текст, который никогда не отличается от моей базы данных.

+0

Добро пожаловать в Stack Overflow! Поскольку вы не указали нам ошибку и код Java, может быть любое число этого неправильного: неправильный ключ, неправильная кодировка, неполный/overfull шифрованный текст. Вы должны показать код шифрования и указать используемые вами значения. В противном случае было бы понятно, что может быть неправильным с этим кодом (или кодом шифрования). Короче говоря, пожалуйста, создайте [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve) и [изменить] ваш вопрос, чтобы включить его. –

ответ

0

попробовать это для шифрования данных

var data = CryptoJS.AES.encrypt(message, key); 
data = data.toString() 

расшифровать его, как этот

var decr = CryptoJS.AES.decrypt(data, key); 
decr = decr.toString(CryptoJS.enc.Utf8); 
+0

Пожалуйста, не отвечайте на вопросы, которые еще не определены полностью. Когда/Если OP редактирует свой вопрос с отсутствующими деталями, ваш ответ будет устаревшим, и вы попадаете в неловкое положение, все еще желая сохранить свой ответ, но за счет будущих читателей, которые будут смущены, потому что нет прямого связь между вашим ответом и вопросом. –