随机加密库
randenc的Python项目详细描述
randenc包提供简单的对称消息加密和 带消息打包、压缩、加密的解密函数 散列,并自动旋转随机键。它是为 短消息,如用户标识令牌和浏览器cookies。用法 示例:
>>> 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!'}
自动生成加密密钥和签名密钥(使用 并存储在密钥目录中。将删除每个密钥 默认情况下,一小时后,将使所有关联的加密代码失效 用那把钥匙。
encrypt函数使用msgpack打包内容,并使用 zlib(除非压缩版本大于未压缩版本 版本),使用aes-128加密(因为aes-128似乎被考虑 比aes-256更安全),使用sha-256上的hmac对其进行签名,并编码 以URL安全基64格式。decrypt函数将反转该操作。 如果代码验证失败或已过期,则decrypt函数将引发 解密错误。
此软件包设计为与群集兼容。这个 密钥可以使用nfs或基于fuse的文件系统存储在共享卷上。 只要做一点工作,密钥就可以存储在一个密钥值存储中 作为MongoDB。