跳转到主要内容

随机加密库

项目描述

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 (8.0 kB 查看散列值)

上传时间: 源代码

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面