我有一个让我发疯的问题。
我创建了一对键:
$res = openssl_pkey_new(array('private_key_bits' => 2048));
/* Extract the private key from $res to $privKey */
openssl_pkey_export($res, $privKey);
/* Extract the public key from $res to $pubKey */
$pubKey = openssl_pkey_get_details($res);
$pubKey = $pubKey["key"];
使用此代码,我有$pubKey
and $privKey
。
我可以正确加密/解密,但我对DECRYPTION有很大的疑问。
目前我加密数据正在做:
openssl_public_encrypt($data, $encrypted, $pubKey);
它正确加密了我的数据,但阅读 PHP Doc,我发现:
http://php.net/manual/en/function.openssl-public-decrypt.php
我可以使用PUBLIC KEY解密数据吗?为什么 ??
我知道公钥对加密数据很有用,但只有私钥的所有者才能解密数据。
如果我可以使用公钥解密数据,让知道公钥的用户轻松解密消息。
有人可以向我解释一下吗?我正在寻找一种使用两个密钥的方法,第一个用于加密,第二个(仅第二个)用于解密。
谢谢