蟒蛇夜

py-cryptonight的Python项目详细描述


Build Status

monero散列函数的python绑定cn_fast_hashcn_slow_hash

  • cn_fast_hash主要用于散列到标量/ec点。
  • cn_slow_hash是用于挖掘和 加密钱包文件的加密密钥派生。
  • 支持CNv1、CNv2、CNv4
  • 在OSX+LLVM上测试JIT,实验性

py2,py3兼容+monero测试向量测试。

pip install py-cryptonight

用法

importbinasciiimportpycryptonightpycryptonight.cn_fast_hash(b'1')# hexcoded: b'c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6pycryptonight.cn_slow_hash(b'1')# hexcoded: b'cbdfba46388e040422b4a9daa471726be659ae184ee86420c2795647f0b301d5# variant 1:pycryptonight.cn_slow_hash(binascii.unhexlify(b'38274c97c45a172cfc97679870422e3a1ab0784960c60514d816271415c306ee3a3ed1a77e31f6a885c3cb'),1)# variant 1# hexcoded: b'ed082e49dbd5bbe34a3726a0d1dad981146062b39d36d62c71eb1ed8ab49459b# variant 2:pycryptonight.cn_slow_hash(b'1',2)# variant 2# hexcoded: b'44016d2376838d89b374e99a20118c0e8916e8c0a5b910744efc7d8f426509ca# variant 4:pycryptonight.cn_slow_hash(b'1',4)# variant 4# hexcoded: b'97db7e03629f7c17e4d78b36a2d247d226b88a8df6cf69f2e4cdae1f1b706b4a# variant 4, height:pycryptonight.cn_slow_hash(b'1',4,prehashed=0,height=1)# variant 4, height 1# hexcoded: b'09bcf4997132dc3d7980125620724acc9c90dc393cb6694097a7d745c57b6b5b

生成问题

默认情况下,扩展使用AES扩展生成。要禁用此功能, 重建方式:

MONERO_NO_AES=1 python setup.py install

准时制

jit优化在默认情况下是禁用的,因为实现是 测试不当。如果你想尝试jit,你需要 编译时使用:

MONERO_NO_JIT=0 python setup.py install
MONERO_USE_CNV4_JIT=1 ./test.sh

本地重建并测试:

MONERO_NO_AES=0MONERO_NO_JIT=0 python setup.py develop
MONERO_USE_CNV4_JIT=0 ./test.sh  # JIT disabled
MONERO_USE_CNV4_JIT=1 ./test.sh  # JIT enabled

有关详细信息,请阅读JIT.md

捐款

谢谢你的支持!

47BEukN83whUdvuXbaWmDDQLYNUpLsvFR2jioQtpP5vD8b3o74b9oFgQ3KFa3ibjbwBsaJEehogjiUCfGtugUGAuJAfbh1Z

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

推荐PyPI第三方库


热门话题
ApachePOI如何通过java从excel文件中删除空白列?   linux到后台Java服务应用程序的简单发送/接收接口   java ActionBarPullToRefresh什么都没发生   java从millis获取错误的整数天   java相同的代码在两个不同的包上表现不同   java将每个新的char元素写入一个文件(如果被覆盖)   mysql如何在Java中通过外键链接的多个表中插入数据   java环境下mysql网络文件访问   java当使用构建器模式时,为什么我不应该重用builderobject来访问对象配置?   java jQueryServlet post异常失败   java应该使用什么逻辑来创建像《愤怒的小鸟》中那样的锁屏   java Android:在不滑动的情况下更改ViewPager中的片段   java在使用我的程序逻辑时获得空输出