Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php openssl_public_encrypt()和openssl_private_encrypt()的输出_Php_Encryption_Openssl_Public Key Encryption - Fatal编程技术网

Php openssl_public_encrypt()和openssl_private_encrypt()的输出

Php openssl_public_encrypt()和openssl_private_encrypt()的输出,php,encryption,openssl,public-key-encryption,Php,Encryption,Openssl,Public Key Encryption,我想知道一些事情 openssl_public_encrypt()和openssl_private_encrypt()函数的输出是什么 上述函数(加密数据)的输出是否网络安全 如何在网站之间传输生成的加密数据 openssl\u public\u encrypt()使用公钥加密消息,以便只有相应的私钥才能对其解密。这用于保护信息不被不应该看到的人看到 openssl\u private\u encrypt()使用私钥加密消息,以便拥有相应公钥的任何人都可以对其解密。这并不是用来保护信息不受不想

我想知道一些事情

  • openssl_public_encrypt()和openssl_private_encrypt()函数的输出是什么
  • 上述函数(加密数据)的输出是否网络安全
  • 如何在网站之间传输生成的加密数据

openssl\u public\u encrypt()
使用公钥加密消息,以便只有相应的私钥才能对其解密。这用于保护信息不被不应该看到的人看到

openssl\u private\u encrypt()
使用私钥加密消息,以便拥有相应公钥的任何人都可以对其解密。这并不是用来保护信息不受不想要的眼睛的伤害,而是用来制作数字签名,以帮助验证数据是否未被修改。你一般不应该使用这个功能;改用
openssl\u-sign()
openssl\u-verify()

加密和签名通常一起使用:您获取数据,使用自己的私钥对其进行签名(使用
openssl\u-sign()
),然后使用收件人的公钥对其进行加密(使用
openssl\u-public\u-encrypt()
)。将签名和加密邮件发送给收件人,收件人可以使用其私钥解密邮件(使用
openssl\u private\u decrypt()
),并使用您的公钥验证签名(使用
openssl\u verify()
)。这确保了在信息传输过程中没有人可以阅读或篡改信息,这可能就是您所说的“网络安全”


至于在网站之间传输数据,你可以用任何你想要的方式。HTTP、FTP、电子邮件、API调用等等。加密和签名的全部意义在于,您不必使用任何特殊方式来安全地传输消息。

您看过这些功能的文档了吗?您所说的“web安全”是什么意思?我认为您应该从一开始就提出问题,并描述您的实际需求。websafe的意思是,我是否可以在url的查询字符串中使用加密数据作为参数?它是二进制数据,而不是文本,因此您必须确保它已正确转义,以便在查询字符串中使用。(或者您可以将其转换为文本,例如使用十六进制或base64。)并且您可能不希望在URL查询字符串中放入大量数据。但这些考虑因素适用于您在查询字符串中输入的任何内容;加密数据也不例外。