openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem
最初のコマンドは元の RSA 秘密鍵ファイル rsa_private_key.pem を生成し、2 番目のコマンドは元の RSA 秘密鍵を pkcs8 形式に変換し、3 番目のコマンドは RSA 公開鍵 rsa_public_key.pem を生成します
上記から、対応する公開鍵は秘密鍵を介して生成できることがわかるので、サーバー側で秘密鍵private_key.pemを使用し、公開鍵はAndroidやiOSなどのフロントエンドに配布されます
2. 生成された公開鍵と秘密鍵をphpで暗号化と復号化に使用し、コードを直接アップロードします
$fp=fopen("rsa/rsa_private_key.pem","r") //秘密鍵ファイルのパス
$private_key=fread($fp,8192);
fclose($fp);
$fp1=fopen("rsa/rsa_public_key.pem","r"); //公開鍵ファイルのパス
$public_key=fread($fp1,8192);
fclose($fp1);
// $private_key をエコーします。
$pi_key=openssl_pkey_get_private($private_key);//この関数は、秘密キーが利用可能かどうかを判断するために使用でき、リソース ID リソース ID を返すことができます
$pu_key=openssl_pkey_get_public($public_key );//この関数は、公開鍵が利用可能かどうかを判断するために使用できます
print_r($pi_key);echo "n"; echo "
";
print_r($pu_key);echo "n"; echo "
";
echo "
";
$data='php ras 暗号化アルゴリズム';
$encrypted = "";
$復号化 = "";
echo "暗号化されたソース データ:".$data."n"; echo "
";
echo "秘密キー暗号化:n";
openssl_private_encrypt($data,$encrypted,$pi_key);//秘密鍵暗号化
$encrypted =base64_encode($encrypted);//暗号化されたコンテンツには通常、特殊文字が含まれており、ネットワーク間で URL を介して送信する場合は、base64 エンコードが URL に安全であるかどうかに注意してください
echo '秘密キー暗号化後:'.$encrypted."n"; echo "
";echo "
";
echo "公開キー復号:n"; echo "
";
openssl_public_decrypt(base64_decode($encrypted),$decrypted,$pu_key);//秘密鍵で暗号化されたコンテンツは公開鍵で復号化できます
echo '公開鍵復号後:'.$decrypted."n"; echo "
";
echo "
";
echo "公開キー暗号化:n";
openssl_public_encrypt($data,$encrypted,$pu_key);//公開鍵暗号化
$encrypted =base64_encode($encrypted);
echo $encrypted,"n"; echo "
";
echo "秘密キーの復号化:n"; echo "
";
openssl_private_decrypt(base64_decode($encrypted),$decrypted,$pi_key);//秘密鍵の復号化
echo $decrypted,"n"; echo "
";
PHP RSA 設定に関するよくある質問:
●PHP開発言語のコード例におけるopensslフォルダ内の3つのDLLファイルの使用
1. システムが Windows システムで、system32 ファイル ディレクトリに libeay32.dll および ssleay32.dll ファイルがない場合
次に、これら 2 つのファイルを system32 ファイル ディレクトリにコピーする必要があります。
2. phpのインストールディレクトリ(phpext)にphp_openssl.dllがない場合
次に、php_openssl.dllをこのフォルダーに入れてください
暗号化と復号化が好きな友人は、この記事を注意深く読んで、多くの利益を得る必要があります。 。 。
http://www.bkjia.com/PHPjc/971931.htmlwww.bkjia.com
truehttp://www.bkjia.com/PHPjc/971931.html技術記事 php rsa 暗号化と復号化の使用の詳細な説明 1. 暗号化と復号化の最初のステップは、公開キーと秘密キーのペアを生成することです。秘密キーで暗号化されたコンテンツは、公開キーで復号化できます (逆も同様です)。オープンソースの RSA キー生成をダウンロードします...