Как сгенерировать строку результата 32 байта с функцией MariaDB AES_ENCRYPTJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как сгенерировать строку результата 32 байта с функцией MariaDB AES_ENCRYPT

Сообщение Anonymous »

С Java я генерирую и зашифрованную строку, такую ​​как: < /p>

Код: Выделить всё

TextEncryptor textEncryptor = org.springframework.security.crypto.encrypt.Encryptors.text(secretKey, salt);
String cryptedString = textEncryptor.encrypt('Original String');
< /code>
[b] cryptedstring < /strong> составляет 64 байт (например, '2883d27d38b7ff4faf6c115e7d80854fabbe32decd24292f403e5a314a3d00a6') ( Примером '(��} 8��o�l^} ��o��2� $)/@> z1j = �'), кодируется в шестнадцатеричной строке  cryptedstring [/b]. 
Проблема в том, что я хочу генерировать такую ​​строку непосредственно в базу данных MariaDB, с функцией aes_encrypt.
, но когда я использую пример < /p>
SELECT HEX(AES_ENCRYPT('Original String', 'secretkey', 'abcd1234cdef5678', 'aes-256-cbc'));
возвращаемое значение составляет длину 16 байтов (по примеру '63235d6c3cc93ed23e889bae10236cc1'), что означает, что AES_ENCRYPT вернул строку 16 байтов и не 32 байтов ! p>
Как я могу сделать функцию AES_ENCRYPT Вернуть строку длины 32 байта?SELECT AES_ENCRYPT('Original String', 'secretKey', 'abcd1234cdef5678', 'aes-256-cbc');
< /code>
, который возвращался (пример):
%äµ ®by [ù $ [¾#< /p>
, который составляет 16 байт длиной, но Я бы хотел, чтобы он вернул строку длины 32 байта, как в моем коде Java


Подробнее здесь: https://stackoverflow.com/questions/792 ... es-encrypt
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»