[英]Output of openssl_public_encrypt() and openssl_private_encrypt()
我想知道幾件事
openssl_public_encrypt()
使用公共密鑰加密消息,以便只有相應的私有密鑰才能解密它。 這用於保護信息,以防不應該看到的人看到。
openssl_private_encrypt()
使用私鑰加密消息,以便擁有相應公鑰的任何人都可以解密該消息。 這不是用於保護信息以防有害的眼睛,而是用於進行數字簽名以幫助驗證數據是否已被修改。 通常,您不應該使用此功能; 請改用openssl_sign()
和openssl_verify()
。
加密和簽名通常一起使用:您獲取數據,使用自己的私鑰對其進行簽名(使用openssl_sign()
),然后使用收件人的公鑰openssl_public_encrypt()
進行加密(使用openssl_public_encrypt()
)。 將簽名和加密的消息都發送給收件人,收件人可以使用他的私鑰對消息解密(使用openssl_private_decrypt()
),並使用openssl_verify()
驗證簽名(使用openssl_verify()
)。 這樣可以確保在傳輸過程中,任何人都無法閱讀或篡改該消息,這可能就是您所說的“網絡安全”。
至於在網站之間傳輸數據,您可以按照任何需要的方式進行。 HTTP,FTP,電子郵件,API調用等。 加密和簽名的全部要點是,您不必使用任何特殊方法即可安全地傳輸郵件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.