Python2.7和3的简单、安全的加密和解密

simple-crypt的Python项目详细描述


简单地窖是做什么的?

简单加密加密和解密数据。它有两个函数,encrypt 以及decrypt

from simplecrypt import encrypt, decrypt
ciphertext = encrypt('password', plaintext)
plaintext = decrypt('password', ciphertext)

就这样。您可以在上看到实现 github

为什么我要用简单的地窖?

  • 它使用标准的、众所周知的算法,紧跟着 建议here
  • 已建立的、有效的pycrypto 库提供算法实现(使用的密码是AES256)。
  • 它包括一个支票(一个带有sha256的hmac),当密文出现时发出警告。 数据被修改。
  • 当质量低劣时,它尽量使事情安全 使用密码(pbkdf2和sha256,256位随机盐 (从3.0.0版的128位增加)和100000发子弹 (从4.0.0版的10000增加)。但这并不意味着 你应该使用糟糕的密码!
  • 使用库而不是编写自己的代码意味着 对同一问题的解决方法较少。这意味着更多的机会 查找错误,这意味着更可靠、更安全的代码。
  • 如果简单的crypt确实有一个bug,那么在 密文数据将有助于支持升级路径(我不能保证 完全向后支持,因为任何解决方案都依赖于 攻击,但至少需要的信息存在)。

我还应该知道什么?

  • 您还必须安装pycrypto注意pycrypto具有 用c编写的部分需要完整的python安装。在某些unix上 系统可能意味着从 包管理器。

  • 在python 3中,encryptdecrypt的输出是 bytes。如果从字符串输入开始,则可以转换 使用.decode('utf8')

    decrypt输出
    mystring = decrypt('password', ciphertext).decode('utf8')
    
  • 更多documentation and examples

  • 较新版本可以从以前的版本中解密数据,但是数据 由较新(主要)版本加密的不能由较早的版本解密 代码(相反,要求用户更新到 最新版本)。

  • (c)2012-2015年安德鲁·库克,andrew@acooke.org; 2013年d10ndavid@bitinvert.com。 发布到公共领域供任何使用,但绝对没有保证。

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

推荐PyPI第三方库


热门话题
java Admob不使用webview   Java Wicket表单:序列化对象类“myClassName”时出错   java googledriveapi更新文件与我的帐户管理员   java简单框架未知xml标记解析   java如何使用主类和用户获取Spark应用程序ID   java如何更改自定义属性的值?   java有没有办法在jMock中找到未使用的期望值?   gradle运行任务的java文档?   java通过使用数组来存储文本文件的行,通过覆盖来删除文本文件中的行   用于表达式语言注入的java利用负载   java IDEStyle程序运行   java在运行时启用/禁用Springws   爪哇芦苇。formatNumber NullPointException   java为什么我的代码无法检测两个动态实体之间的碰撞?