Шифрование и расшифровка строк с помощью ключа PHP

Я ищу некоторые функции для шифрования и расшифровки строк в php с использованием указанного ключа.

Благодаря!

Solutions Collecting From Web of "Шифрование и расшифровка строк с помощью ключа PHP"

Начните с этого: http://www.ibm.com/developerworks/opensource/library/os-php-encrypt/

После этого взгляните на ответ Паскаля МАРТИНА в разделе Как мне зашифровать строку в PHP?

Основная реализация openssl, которую я использовал ранее:

class MyEncryption { public $pubkey = '...public key here...'; public $privkey = '...private key here...'; public function encrypt($data) { if (openssl_public_encrypt($data, $encrypted, $this->pubkey)) $data = base64_encode($encrypted); else throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?'); return $data; } public function decrypt($data) { if (openssl_private_decrypt(base64_decode($data), $decrypted, $this->privkey)) $data = $decrypted; else $data = ''; return $data; } } 

Вам нужно будет создать пару ключей RSA. См. Здесь информацию о том, как это сделать. Хранение частного ключа в самом файле – плохая идея. Это просто пример. В идеале вы хотели бы, чтобы пользователь предоставлял закрытый ключ во время дешифрования

вы пробовали mcrypt ?

Я предполагаю, что вы имели в виду симметричное шифрование ключа. mcrypt поддерживает несколько алгоритмов (например, AES, Tripel DES). Однако есть один улов, он не поддерживает какой-либо алгоритм заполнения, поэтому вы не сможете вернуть исходную длину. У вас есть 2 варианта, чтобы обойти эту проблему,

  1. Добавьте поле длины перед текстом. Скажем, используйте первые 4 байта как длину.

  2. Сделайте PKCS № 5 самостоятельно. На этой странице есть примеры кода: http://www.php.net/manual/en/function.mcrypt-encrypt.php