Расшифруйте AES в MySQL, который был зашифрован с CryptoJS - PullRequest
0 голосов
/ 20 сентября 2019

В моей базе данных у меня есть столбец, в котором хранятся зашифрованные значения cryptojs в таком виде:

U2FsdGVkX1 / BpEUjr5y + hivlNpUep + HZQG4Tw8bmTvQ =

Когда я расшифровываю все это с помощью cryptojs,.

let decryptedValue = cryptoJS.AES.decrypt(
    encryptedField,
    secretKey
 );

Но расшифровка с помощью mysql возвращает ноль.

Я пытался преобразовать в зашифрованную строку в двоичный файл, а затем расшифровать его с помощью aes_decrypt () mysql, но он возвращает ноль.

SELECT convert(AES_DECRYPT(binary(encrypted_field),'secret_key') using utf8) as decrypt

Зашифрованные значения являются числами, и мне нужно расшифровать их, чтобы выполнить с ними некоторые вычисления в mysql.

Я не знаю, если что-то не так с тем, как я 'Я могу расшифровать его или сделать у cryptojs и mysql разные способы шифрования и дешифрования с использованием AES.

Заранее спасибо.

1 Ответ

0 голосов
/ 20 сентября 2019

Похоже, ваша начальная строка Base64 Encoded .Возможно, что cryptoJS.AES или какой-то другой процесс берет зашифрованные байты и сохраняет их как Base64 в базе данных.

Ваша процедура дешифрования баз данных, вероятно, принимает необработанные байты, поэтому вы 'Вам нужно будет превратить строку Base64 (проверить сеть на наличие подпрограмм mysql base64) в фактические байты, а затем передать их в функцию AES_DECRYPT.

...