python绑定到networking and cryptography(nacl)库

PyNaCl的Python项目详细描述


Latest Versionhttps://travis-ci.org/pyca/pynacl.svg?branch=masterhttps://codecov.io/github/pyca/pynacl/coverage.svg?branch=master

pynacl是绑定到libsodium的python,它是 Networking and Cryptography library。这些图书馆有一个明确的目标 提高可用性、安全性和速度。它支持python 2.7和3.4+as 以及Pypy 2.6+。

功能

  • 数字签名
  • 密钥加密
  • 公钥加密
  • 哈希和消息身份验证
  • 基于密码的密钥派生和密码哈希

安装

二进制车轮安装

pynacl在os x、windows和linux上以二进制轮盘的形式发布manylinux1[1], 所以所有依赖项都包括在内。确保你有一个最新的pip 然后运行:

$ pip install pynacl

Linux源代码构建

pynacl依赖于libsodium,一个可移植的c库。一份是捆绑的 使用pynacl以便安装,您可以运行:

$ pip install pynacl

如果您希望使用由 分发版,您可以在安装期间通过运行以下命令禁用捆绑副本:

$SODIUM_INSTALL=system pip install pynacl

警告

setuptools提供的传统easy_install命令的用法 通常是不鼓励的,在pynacl的情况下是完全不支持的。

[1]manylinux1 wheels are built on a baseline linux environment based on Centos 5.11 and should work on most x86 and x86_64 glibc based linux environments.

变更日志

1.3.0 2018年9月26日

  • 增加了对Python3.7的支持。
  • 更新libsodium至1.0.16。
  • 通过sphinx运行和测试pynacl文档中的所有代码示例 医生建造师。
  • 为chacha20-poly1305 aead结构添加低级绑定。
  • 为chacha20-poly1305 secretstream结构添加低级绑定。
  • 为ed25519ph预哈希签名构造添加低级绑定。
  • 添加用于恒定时间增量和加法的低级绑定 关于固定精度的小尾数大整数 字节序列。
  • 添加与ISO/IEC 7816-4兼容的填充API的低级绑定。
  • 为lib钠的crypto_kx…密钥交换添加低级绑定 建设。
  • 在tests/test_pwhash.py中将假设截止时间设置为none以避免 在较慢的处理器架构上出现错误的测试失败。github 第370期

1.2.1-2017年12月4日

  • 更新假设最小允许版本。
  • 基础结构:为readthedocs builder添加适当的配置 运行时环境。

1.2.0-2017年11月1日

  • 更新libsodium至1.0.15。
  • 基础设施:添加jenkins支持 manylinux1二进制轮子
  • 添加了对SealedBox构造的支持。
  • 添加了对argon2iargon2id密码哈希结构的支持 并重新构造高级密码哈希实现以公开 所有哈希器的接口相同。
  • 添加了对128位siphashx24变量siphash24的支持。
  • 添加了对用于生成x25519密钥对的from_seedapi的支持。
  • 放弃了对Python3.3的支持。

1.1.2-2017年3月31日

  • 使用绑定时重新排序链接时间库搜索路径 锂钠

1.1.1-2017年3月15日

  • 修正了nacl.utils中的循环导入错误。

1.1.0-2017年3月14日

  • 放弃了对Python2.6的支持。
  • Box上添加了shared_key()方法。
  • 使用Box加密时,现在可以将None传递给nonceSecretBox,它将自动生成一个随机的nonce。
  • 添加了对siphash24的支持。
  • 添加了对blake2b的支持。
  • 添加了对scrypt的支持。
  • 更新libsodium至1.0.11。
  • 编译时默认为捆绑的libsodium
  • 所有定义的异常都被定义为混合 nacl.exceptions.CryptoError

1.0.1-2016年1月24日

  • 修复阻止创建轮子的绝对路径问题。

1.0至2016-01-23

  • pynacl已经移植使用cffi 1.0+中提供的新api。 由于此更改,我们不再支持2.6以前的pypy版本。
  • Python3.2支持已被放弃。
  • 添加了在ED25519和Curve25519键之间转换的函数。

0.3.0-2015年3月4日

  • 低级api(nacl.c.*)已更改为与 上游NaCl C/C++约定(以及其他NaCl绑定)。 参数和返回值的顺序发生了显著的变化。到 避免无声故障,nacl.c已被删除,并替换为 nacl.bindings(使用新的参数顺序)。如果你有代码 调用这些函数(例如,nacl.c.crypto_box_keypair()),必须查看 新的docstrings并更新代码/导入以匹配新的 公约

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

推荐PyPI第三方库


热门话题
java读取SSLSocket的最快或最佳方式   JavaGuice向类构造函数注入对象   java类不是抽象的,并且不会覆盖OnClickListener中的抽象方法onClick(视图)   java OpenGL 1.1更改颜色更改以前的颜色?   c#将Java/Android连接到。网络服务   java在节点上生成AES密钥   java Liferay与MarkLogic XDBC数据库集成   java使用静态初始化块来提高性能   java如何在需要不同参数的另一个方法中使用同一类中的方法   音频Java多种声音   Java显式引用转换   java Intellij,如何在maven项目中导入模块   java在什么条件下调用ELResolver的setValue方法?   java在beanshell中计算代码字符串并获取beanshell解释器返回的值   javascript将音频文件上载到服务器并从服务器响应设置图像   编码风格清理java代码,多个else if语句   java是否需要使此变量可变?   java线程未更新GlassPane上的进度条   java关闭调试模式@Vaadin Spring启动应用程序