随机加密库
项目描述
randenc软件包提供简单的对称消息加密和解密功能,包括消息打包、压缩、加密哈希和自动旋转的随机密钥。它适用于短消息,如用户ID令牌和浏览器Cookie。使用示例
>>> from randenc import RandomEncryption >>> import tempfile >>> enc = RandomEncryption(tempfile.mkdtemp()) >>> code = enc.encrypt({u'message': u'Hello, world!'}) >>> len(code) 107 >>> enc.decrypt(code) {u'message': u'Hello, world!'}
加密密钥和签名密钥由系统自动生成(使用os.urandom)并存储在密钥目录中。默认情况下,每个密钥将在一小时后删除,使与该密钥相关的所有加密代码失效。
加密函数使用msgpack打包内容,使用zlib进行压缩(除非压缩版本比未压缩版本大),使用AES-128进行加密(因为AES-128似乎被认为比AES-256更安全),使用SHA-256的HMAC进行签名,并以URL安全的base 64格式进行编码。解密函数执行相反的操作。如果代码验证失败或已过期,解密函数将引发解密错误。
本软件包旨在与集群兼容。密钥可以存储在NFS或基于FUSE的文件系统上的共享卷中。经过一些工作,密钥也可以存储在MongoDB等键值存储中。
项目详细信息
关闭
randenc-0.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | ed55e9af58a14dad5e937d36e0da639a3b0757f1d8c628677c673edce43ceab8 |
|
MD5 | b22bd15e31da8616193ba91a6abd277e |
|
BLAKE2b-256 | a817b8f02784826777280ea8a6aa66a52a4afdc47d0152c38802101173fbeca2 |