gpt4 book ai didi

python-3.x - 如何在 python 中建立双向加密的服务器-客户端-连接?

转载 作者:行者123 更新时间:2023-12-03 11:59:10 26 4
gpt4 key购买 nike

对于一个项目,我需要一个服务器和一个客户端。到目前为止没有问题。对我来说,困难在于必须对连接进行加密,因为将发送敏感信息。您可以使用 RSA 加密。我只是还不知道如何交换 key ,因此没有人可以拦截它们或获得任何其他机会接触它们。
由于我不知道,一般如何做,到目前为止我没有尝试任何东西。

最佳答案

这是 Python 中的 TLS 连接实现。所有 key 交换和加密数据都在协议(protocol)内完成。

import socket
import ssl

def main():
#Define Host Name And Port (Port 443 Is Typical Encrypted Web Connection Port)
host_name = "www.google.com"
host_port = 443

#Create Unencrypted Connection And Then Encrypted It By Wrapping It
unencrypted_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
unencrypted_socket.settimeout(10)
encrypted_socket = ssl.wrap_socket(unencrypted_socket,ssl_version=ssl.PROTOCOL_TLSv1) #Optional Ciphers Spec Parameter Too

#Connect To The Host, Send Data And Wait To Recieve Data
encrypted_socket.connect((host_name,host_port))
encrypted_socket.send(b"Hello")
response = encrypted_socket.recv(512)

#Close The Connection
encrypted_socket.close()

main()

注意:我使用的是 Python 3.6,并且我认为从 Python 3.7 开始可以使用更新版本的 TLS。

关于python-3.x - 如何在 python 中建立双向加密的服务器-客户端-连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com