Пример того, как на php можно использовать приватный и публичный ключи, для шифрования текста.
Шифрование данный на php используй публичный и приватный ключи.
16.06.2017
Сначала нужно создать пару ключей:
openssl genrsa -out private.key -des3 4096 openssl rsa -in private.key -out public.key -pubout
- при создании первого ключа нужно указать пароль, который будет запрошен при создании второго.
Если openssl нет, то можно его установить, для работы php функций этого не нужно, только для генерации ключей.
yum -y install openssl
Потом их можно использовать:
index.php (Download)
<?php error_reporting(E_ALL); ini_set('display_errors', 'On'); $sPublicKey = file_get_contents('public.key'); $sPrivateKey = file_get_contents('private.key'); /* echo '<pre>'; print_r($sPublicKey); print_r($sPrivateKey); echo '</pre>'; */ $sTextIn = 'My text 123'; $pk = openssl_get_publickey($sPublicKey); echo '<pre>'; print_r($pk); echo '</pre>'; openssl_public_encrypt($sTextIn, $encrypted, $pk); echo 'Encrypted: <br />'.chunk_split(base64_encode($encrypted)).'<br />'; $pk = openssl_get_privatekey($sPrivateKey, '1234'); echo '<pre>'; print_r($pk); echo '</pre>'; openssl_private_decrypt($encrypted, $out, $pk); echo 'Decoded: <br />'.$out.'<br />';
Стоит обратит внимание, на то, что openssl_get_privatekey тоже нужно передать пароль от ключа.
Комментарии:
Публичный ключ ДОЛЖЕН иметь комментарии вида:
-----BEGIN PUBLIC KEY-----
- а приватный нет.