Php 使用相同的私钥加密和解密?

Php 使用相同的私钥加密和解密?,php,encryption,openssl,php-openssl,Php,Encryption,Openssl,Php Openssl,我正在做一些加密工作,直到现在,我一直假设您需要一个公钥来解密一个由私钥加密的值 直到我看到openssl\u private\u encrypt()和openssl\u private\u decrypt()使用相同的密钥 我在这里有点困惑。在使用私钥加密后,您通常不需要公钥来再次解密值吗?这不是整个非对称加密的意思吗 在PHP上下文中很难找到关于此类主题的可靠信息,因此我希望有人能告诉我更多关于这方面的信息 谢谢阅读。如果你用私钥加密某个东西,要用公钥解密它,唯一可以确定的是,你是发送者 如

我正在做一些加密工作,直到现在,我一直假设您需要一个公钥来解密一个由私钥加密的值

直到我看到
openssl\u private\u encrypt()
openssl\u private\u decrypt()
使用相同的密钥

我在这里有点困惑。在使用私钥加密后,您通常不需要公钥来再次解密值吗?这不是整个
非对称加密的意思吗

在PHP上下文中很难找到关于此类主题的可靠信息,因此我希望有人能告诉我更多关于这方面的信息


谢谢阅读。

如果你用私钥加密某个东西,要用公钥解密它,唯一可以确定的是,你是发送者


如果你用公钥加密,用私钥解密,你肯定只有接收者才能打开它

最好的安全性是使用您的私钥和其他人的公钥加密某些内容,以便另一方可以使用其私钥和您的公钥对其进行解密


所以是的:你可以用私钥加密和解密。

如果你用私钥加密某个东西,要用公钥解密它,唯一可以确定的是,你是发送者


如果你用公钥加密,用私钥解密,你肯定只有接收者才能打开它

最好的安全性是使用您的私钥和其他人的公钥加密某些内容,以便另一方可以使用其私钥和您的公钥对其进行解密


所以,是的:您可以使用私钥进行加密和解密。

但是使用
openssl\u private\u encrypt()
openssl\u public\u decrypt()
进行反向操作在PHP中不起作用。所以这并不完全是真的?@Stephan-v:“
openssl\u public\u decrypt()
解密以前通过
openssl\u private\u encrypt()
加密的数据,并将结果存储到decrypted中。”我的坏意思是
openssl\u private\u encrypt()
openssl\u private\u decrypt()
但是,用
openssl\u private\u encrypt()
来反转类似于
openssl\u public\u decrypt()
的东西在PHP中不起作用。所以这并不完全正确?@Stephan-v:“
openssl\u public\u decrypt()
解密之前通过
openssl\u private\u encrypt()
加密的数据,并将结果存储到decrypted中。”我的坏意思是
openssl\u private\u encrypt()
openssl\u private\u decrypt()