蟒蛇夜
py-cryptonight的Python项目详细描述
monero散列函数的python绑定cn_fast_hash, cn_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