Итак, я просто выполняю базовое шифрование данных в своих таблицах MySQL. Я следовал рекомендациям, найденным здесь
https://dev.mysql.com/doc/refman/5.6/en ... es-encrypt
< p>Но у меня возникла проблема. Хотя я знаю, что могу просто использовать aes_decrypt в запросе MySQL для расшифровки данных. Я также хочу, чтобы PHP мог делать это сам.
У меня эта часть работает. Если MySQL выполняет базовый AES_ENCRYPTION следующим образом:
Код: Выделить всё
INSERT INTO tablename (dataset) VALUES (AES_ENCRYPT('testvalue','mysecretphrase'))
Код: Выделить всё
openssl_decrypt(base64_encode($dR['dataset']), 'aes-128-ecb', 'mysecretphrase')
The php sha* functions i tried using and can confirm that they both generate the same string as MySQLs sha2()
Код: Выделить всё
openssl_digest('mysecretphrase', 'sha512')
// AND
hash('sha512', 'mysecretphrase')
However, i'm just not getting any result when decrypting the data. This is where it keeps failing. I feel as though i'm either missing something but this just does not decrypt the data and only returns empty results.
Код: Выделить всё
openssl_decrypt(base64_encode($dR['dataset']), 'aes-128-ecb', hex2bin(openssl_digest('mysecretphrase', 'sha512')))
Источник: https://stackoverflow.com/questions/492 ... encryption