1
我生成RSA公鑰和私鑰由不能OpenSSL的
openssl genrsa -des3 -out private.pem 2048 openssl rsa -in private.pem -out public.pem -outform PEM -pubout
和使用下面的PHP代碼解密被加密的RSA數據加密和解密數據。
<?php
$plaintext = 'Hello';
$publicKey = openssl_pkey_get_public('file://public.pem');
$encrypted = '';
if (!openssl_public_encrypt($plaintext, $encrypted, $publicKey))
die('Failed to encrypt data');
var_dump($encrypted);
if (!$privateKey = openssl_pkey_get_private('file://private.pem', '123456789'))
die('Private Key failed');
$decrypted = '';
if (openssl_open($encrypted, $decrypted, $envelope, $privateKey) === FALSE)
die('Failed to decrypt data');
?>
將加密數據,但對數據進行解密它不工作,並顯示數據解密失敗
它會顯示類似如下的結果
string(256) "y)ù¿5_÷q$çD±!‘[’ÓcÜC$Gèïü*ÞEÇGm>ËÂïQÄ„ð½i=é¨Zs€© |T²»Z」k(ráëµ1,r]o –Òll'T¾i¹Bò}Æ1sËèÝwœÒ„Ä–È‹\1{S'ÆY³Ïà^hŽ™©XO%f7‘Bþ®Ra.ªÜäÆô¼'©³#Ý.H9…ŒÏ\6°ÆýþÆJµ^ðŠØÆr£Ô&ü—Ý*ýÄq ƒÝcÓÚAçOmœi\Ê¿›ãB~ZP1ŒÑÔâ¨S…6—êQ–²x¥^0´Íº(d?G•ÚIWå¡Ä" Failed to decrypt data