Альтернативы Mcrypt для шифрования / дешифрования в PHP? - PullRequest
3 голосов
/ 21 апреля 2011

Я даю код для модуля Drupal, который должен выполнять шифрование и дешифрование.Я не думаю, что могу предположить, что модуль Mcrypt установлен в системе Drupal.Что я могу использовать в качестве альтернативного механизма шифрования?

Это не для финансовых вещей, поэтому мне не нужна сложная криптология, но лучше лучше ...

Ответы [ 4 ]

6 голосов
/ 21 апреля 2011

Как насчет использования вашей базы данных?MySQL имеет функции шифрования и дешифрования AES и DES.Затем вы можете использовать «поддельный» запрос для получения вашей строки:

select id, aes_encrypt('My secret text', 'the key string') 
from permissions 
limit 1

(MySQL возвращает пустой набор, если у вас нет хотя бы одного поля из таблицы.)

Расшифровка работает так же.Это 128-битный AES, что не так уж плохо, криптографически, и если вы даже не уверены в MCrypt, я сомневаюсь, что вы будете перекомпилировать MySQL для получения 256-битного AES.

2 голосов
/ 10 октября 2012

Существует несколько методов шифрования кодов PHP, использование ключа для шифрования / дешифрования кодов делает его более безопасным, чем MCrypt.

Одним из способов является создание функции, которой может потребоваться ключ для завершения шифрования или дешифрования. PHP имеет встроенные функции, такие как gzdeflate() или gzinflate(), другой использует функции base64_encode() / base64_decode() и str_rot13().

Но я не думаю, что использование PHP Encoder будет работать.

1 голос
/ 10 октября 2012

на основе ответа Леона, PHP Encoder использует модуль MCrypt, который может не работать на Drupal. Другой способ - использовать IonCube Encoder.

Если вам нужна более строгая функция, вы можете также попытаться использовать функцию hash() и md5() для создания своего ключа и потребовать ее при шифровании с возвращением функций gzdeflate() / gzinflate(), как Леон предложение.

1 голос
/ 21 апреля 2011

Модуль Encryption по умолчанию включает базовый метод шифрования, который он описывает как «Простой математический метод шифрования, который не требует каких-либо расширений PHP».

...