用于哈希和加密的简单加密库

simplecrypto的Python项目详细描述


https://travis-ci.org/boppreh/simplecrypto.png?branch=masterhttps://coveralls.io/repos/boppreh/simplecrypto/badge.pnghttps://badge.fury.io/py/simplecrypto.png

具有非常简单的api的加密库。

包括散列、对称和非对称加密以及 助手函数。充当PyCrypto和一些标准的包装器 图书馆。

文档

文档可在http://simplecrypto.readthedocs.org找到。

完整的源代码存储库位于https://github.com/boppreh/simplecrypto

安装

pip install simplecrypto

这个库依赖于PyCrypto。在Linux上,这是由 皮普。如果依赖项安装在Windows上失败,则可能需要 使用prebuilt installer。 如果你想编译它,我建议使用mingw工具as indicated here

用法

from simplecrypto import sha1, encrypt, decrypt, RsaKeypair, base64

sha1('The quick brown fox jumps over the lazy dog')
# '2fd4e1c67a2d28fced849ee1bb76e7391b93eb12'

# `encrypt` and `decrypt` use AES-256.
m = encrypt('secret message', 'secret key')
print(m)
# 'uRKa9xX7zW6QT1yJxIQb5E/0DzaxQglVggnFam5K'
decrypt(m, 'secret key')
# b'secret message'

skey = RsaKeypair(2048)
pkey = skey.publickey

m = pkey.encrypt('secret message')
skey.decrypt(m)
# b'secret message'

s = skey.sign('authenticated message')
pkey.verify('authenticated message', s)
# True

base64('message')
# 'bWVzc2FnZQ=='

上次更新

0.3.3(2015-8-07)

  • 包装测试。

0.3.2(2014-3-30)

  • 添加HMAC支持。
  • 使用sha256作为默认rsa散列
  • 允许选择用于rsa密钥生成的prng
  • 为更好地支持python2而进行的细微更改

0.3.1(2013-12-06)

  • 将项目添加到Travis和Coverall。
  • 将测试覆盖率提高到100%。
  • 添加安装说明。
  • guess_hash重命名为guess_transformation

0.3.0(2013-12-05)

  • serialize添加到rsa密钥。
  • 允许rsa密钥在构造函数中接收pem编码的密钥。
  • 在基键类中实现__repr__方法(现在可以打印键)。
  • 将包拆分为模块keyformatshashesrandomexceptions

0.2.3(2013-12-05)

  • 更新项目信息(关键字、分类器、描述等)。

0.2.2(2013-12-04)

  • 添加用于安全消息生成的sendreceive函数。
  • 引发EncryptionError,而不是一般性错误。
  • 更好的测试覆盖率。

0.2.1(2013-12-03)

  • 添加基类Key
  • 介绍raw版本的加密和解密。
  • 实现了密钥打印和比较。

0.2.0(2013-12-03)

  • to_base64返回str,并允许from_base64接收str。
  • 为不同的键类型创建类。
  • 将返回值从to_hex更改为str,以与base64保持一致。
  • guess_hash函数已移动到其他模块。
  • 加密大消息时自动使用会话密钥。

0.1.0(2013-11-26)

  • 初次发布。

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

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?