Вверх ↑
Ответов: 321
Рейтинг: 10
#1: 2018-11-11 21:53:26 ЛС | профиль | цитата
Починил через HiSvn.

Netspirit, помогите пожалуйста разобраться, смотрел и видео истории развития криптографии, и прочел статьи в hiasm wiki.
Но остались вопросы...

Как я понял в PHP встроен некий OPENSSL_PKCS1_PADDING (могу ошибаться).
Опираясь на примеры с habr сделал 2 файла.
Сгенерировал пару ключей на каком-то сайте (нашел в Яндексе) http://travistidwell.com/jsencrypt/demo/
Это ключи как я понял RSA, они бывают 512, 1024 или 2048 бит. Чем длиннее, тем надежнее, тем медлительнее расшифровка.
На сайте генерации ключей есть галочка async. Зачем она нужна ?!
Собственно вопрос по теме - есть ли у нас поддержка этих самых RSA ?! Ткните пожалуйста носом, если есть.

encode.php
<?php
$pub = <<<DATA
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALqbHeRLCyOdykC5SDLqI49ArYGYG1mq
aH9/GnWjGavZM02fos4lc2w6tCchcUBNtJvGqKwhC5JEnx3RYoSX2ucCAwEAAQ==
-----END PUBLIC KEY-----
DATA;
$data = "Hiasm is my secret love.";
$pk = openssl_get_publickey($pub);
openssl_public_encrypt($data, $encrypted, $pk);
echo chunk_split(base64_encode($encrypted));
?>


decode.php
<?php
$key = <<<DATA
-----BEGIN RSA PRIVATE KEY-----
MIIBPQIBAAJBALqbHeRLCyOdykC5SDLqI49ArYGYG1mqaH9/GnWjGavZM02fos4l
c2w6tCchcUBNtJvGqKwhC5JEnx3RYoSX2ucCAwEAAQJBAKn6O+tFFDt4MtBsNcDz
GDsYDjQbCubNW+yvKbn4PJ0UZoEebwmvH1ouKaUuacJcsiQkKzTHleu4krYGUGO1
mEECIQD0dUhj71vb1rN1pmTOhQOGB9GN1mygcxaIFOWW8znLRwIhAMNqlfLijUs6
rY+h1pJa/3Fh1HTSOCCCCWA0NRFnMANhAiEAwddKGqxPO6goz26s2rHQlHQYr47K
vgPkZu2jDCo7trsCIQC/PSfRsnSkEqCX18GtKPCjfSH10WSsK5YRWAY3KcyLAQIh
AL70wdUu5jMm2ex5cZGkZLRB50yE6rBiHCd5W1WdTFoe
-----END RSA PRIVATE KEY-----
DATA;
$data = "JutBa0GLHzGrlygxwWr66cizw4W4za+DbzZweNM0iloCD7xEP9LclL013lcksJL5XhjW44U+oxpq cX1ZSLhWuA==";
$pk = openssl_get_privatekey($key);
openssl_private_decrypt(base64_decode($data), $out, $pk);
echo $out;
?>
карма: 1

0
Редактировалось 1 раз(а), последний 2018-11-11 21:53:46