随机加密库

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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
传递Java处理类类型参数的方式的参数   java安卓中间层admob在logcat中导致大量GC_FOR_ALLOC释放消息   java Vert。x Http请求未将参数分配为配置   java中多线程的输出不正确   如何减少java本地线程的冗余   java不完全分块结果   使用OpenCv时java中的Mat数据类型不受支持错误   Java中的正则表达式不工作,而同一正则表达式在shell中工作   java如何从数组中删除元素?   JDBCJava。sql。SQLException:[Microsoft][ODBC Microsoft Access驱动程序]操作必须使用可更新的查询   java如何以对角线打印字符串变量的字符?   SonarQube 5.2的java自定义插件生成NoClassDefFoundError   macos使用Java应用程序打开浏览器选项卡