1、确保你的 PHP 环境已经启用了 OpenSSL 扩展
$config = array(
"digest_alg" => "sha1",
"private_key_bits" => 1024,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
"config" => 'C:\phpstudy_pro\Extensions\Apache2.4.39\conf\openssl.cnf',
);
$res = openssl_pkey_new($config);
if ($res === false) {
die("无法生成密钥对:" . openssl_error_string());
}
openssl_pkey_export($res, $privateKey, NULL, $config);
$publicKey = openssl_pkey_get_details($res);
$publicKey = $publicKey["key"];
echo "私钥:<br/>" . $privateKey . "<br/>";
echo "公钥:<br/>" . $publicKey . "<br/>";
openssl_free_key($res);
2、使用 OpenSSL 命令生成 公钥和私钥
1. 生成 1024 位 RSA 私钥:
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa\_keygen\_bits:1024
2. 从私钥中提取公钥:
openssl rsa -pubout -in private_key.pem -out public\_key.pem
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通