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查询字符串中放入大量数据。但这些考虑因素适用于您在查询字符串中输入的任何内容;加密数据也不例外。