Python 开源密码学工具包

标签 python encryption cryptography toolkit

<分区>

我的任务是在 2 个人与中间人之间建立安全通信。 消息必须使用公钥和私钥加密,并且应该为每个用户创建一个 X.509 证书,该证书由第三方存储。 我目前正在通过套接字在用户之间发送消息。

有人可以推荐一个易于理解的库,我可以用它来执行简单的加密吗?任何有关图书馆的适当阅读资源也会有所帮助。

最佳答案

SSL: http://docs.python.org/dev/library/ssl.html

ssl.wrap_socket将加密层添加到普通套接字。

this 的答案中有一些代码示例相关问题:

client, addr = listeningSocket.accept()
client.recv(32)
client.send(b'hello')
client.setblocking(0)

while True:
    try:
        client.do_handshake()
        break
    except ssl.SSLError, err:
        if err.args[0] == ssl.SSL_ERROR_WANT_READ:
            select.select([client], [], [])
        elif err.args[0] == ssl.SSL_ERROR_WANT_WRITE:
            select.select([], [client], [])
        else:
            raise

sslSocket = ssl.wrap_socket(client, do_handshake_on_connect=False, keyfile='key.pem', certfile='cert.pem', server_side=True, ssl_version=ssl.PROTOCOL_TLSv1)
sslSocket.write(b'hello')

关于Python 开源密码学工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778006/

相关文章:

python - 如何在 Python 中找到与某个项目最频繁的配对

java - AES 与 PBEWithSHA256And256BitAES

C - 采用 AES-256 和 CFB 模式的 OpenSSL

c++ - 关于为许可证系统创建 key 生成器的问题

encryption - 如何结合对称加密和非对称加密?

python Mysql数据存储

python - 删除列表中除字符串以外的所有变量

python - 批量删除图像中不需要的部分

java - Java 中的 RSA 给定 n 和 e

java - SHA256 是否具有良好的跨平台支持?