Skip to content
This repository has been archived by the owner on Apr 11, 2022. It is now read-only.
/ libproofofwork Public archive

Simple hash-mining c library and its python binding.

License

Notifications You must be signed in to change notification settings

kmyk/libproofofwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libProofOfWork

Travis PyPI PyPI PyPI PyPI

Simple hash-mining c library and its python binding.

Requirements

  • cmake and things to build
  • non-old CPU for AVX2 instructions
    • Check flags sections of your /proc/cpuinfo.
  • OpenMP (optional)

How to Install

$ pip install proofofwork

How to Use

>>> import proofofwork
>>> import hashlib

>>> s = proofofwork.md5('00000000')
>>> s
b'erno8AAA'
>>> hashlib.md5(s).hexdigest()
'0000000057c4ca67d38e6826053824bd'

>>> s = proofofwork.sha1('000??????????????????????????????????000', text=b'sha1{????????}', alphabet=bytes(range(128, 256)))
>>> s
b'sha1{\xcb\xf0\xa4\x80\x80\x80\x80\xe0}'
>>> hashlib.sha1(s).hexdigest()
'00099d6917591c54f861032fd0d0071fbc647000'

Benchmark

MD5

In my laptop environment (Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz),

Code Speed [hashes/sec]
libproofofwork 158000000
C openssl 5890000
python hashlib 794000

SHA1

In my laptop environment (Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz),

Code Speed [hases/sec]
libproofofwork 83700000
C openssl 6360000
python hashlib 815000

License

MIT License

About

Simple hash-mining c library and its python binding.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published