Я попробовал этот простой код:
<?php
$publicKey = openssl_pkey_get_public("public.pem");
$plaintext = "String to encrypt";
openssl_public_encrypt($plaintext, $encrypted, $publicKey);
echo $encrypted; //encrypted string
?>
но я получаю это сообщение об ошибке.
Предупреждение: openssl_public_encrypt(): параметр ключа не является допустимым открытым ключом в C:\xampp\htdocs\encrypt\encrypt_rsa.php в строке 6.
public.pem
уже является открытым ключом, поэтому нет необходимости извлекать его с помощьюopenssl_pkey_get_public("public.pem")
— просто используйте его какopenssl_public_encrypt($plaintext, $encrypted, 'public.pem');
. - person shadyyx   schedule 21.06.2013public.pem
в своем вопросе? - person Duncan Jones   schedule 21.06.2013pem
? может быть, он в неправильном формате - person Noam Rathaus   schedule 29.12.2013