2014-09-08 2 views
0

У меня возникла проблема с созданием библиотек на codeigniter и postgres. Моя проблема в том, что по моему запросу в postgres я зашифровал это.Postgres Decrypt in sql

$sql = "INSERT table ('text') Values(encrypt('example','mysecret','aes')) 

при запросе для расшифровки, так что я использовал этот код

SELECT decrypt(text,'mysecret','aes') from table 

Дисплеи на запрос в порядке, он расшифровывает, но при переходе к каждому элементу.

foreach($result as $key){ 
echo $key->text; 
endforeach; 

Результаты зашифрованы, интересно, почему я сделал неправильно.

ответ

0

Использование исходного шифрования/дешифрования функции отвергающих, (в вашем случае, обратите внимание на пункт 4):

These functions only run a cipher over data; they don't have any advanced features of PGP encryption. Therefore they have some major problems:

  1. They use user key directly as cipher key.

  2. They don't provide any integrity checking, to see if the encrypted data was modified.

  3. They expect that users manage all encryption parameters themselves, even IV.

  4. They don't handle text.

So, with the introduction of PGP encryption, usage of raw encryption functions is discouraged.

Вместо этого вы должны использовать функции PGP.

+0

У вас есть несколько примеров того, как использовать запрос, пожалуйста, сообщите, что я еще не знаком с функциями почтовых сообщений, эквивалентными mysql. –

+0

. Я столкнулся с некоторыми проблемами, такими как (ERROR: ошибка дешифрования: данные не кратные размеру блока) означает ли это, что это IV будет одной из основных проблем для расшифровки функций? Это может быть проблемой в ближайшем будущем. Огромное, чтобы дать совет –

+0

@boyee: в документах приведены некоторые примеры: http://www.postgresql.org/docs/9.3/static/pgcrypto.html Я не настолько хорошо разбираюсь с функциями шифрования MySQL, но могу сказать вам, что в целом проблема заключается в предоставлении ключа шифрования/дешифрования в запросе. Это позволяет людям, читающим журналы и все, видеть ваш ключ шифрования, что делает его бесполезным. В этом документе приводятся некоторые примеры использования и PGP: http://www.postgresonline.com/journal/archives/165-Encrypting-data-with-pgcrypto.html – Wolph