crypto.py 568 B

123456789101112131415161718192021222324
  1. from .crypto_orig import *
  2. if os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
  3. get_random_orig = get_random
  4. add_user_random_orig = add_user_random
  5. import sys
  6. fake_rand_h = sha256('.'.join(sys.argv).encode())
  7. def fake_urandom(n):
  8. def gen(rounds):
  9. for i in range(rounds):
  10. fake_rand_h.update(b'foo')
  11. yield fake_rand_h.digest()
  12. return b''.join(gen(int(n/32)+1))[:n]
  13. def get_random(length):
  14. return fake_urandom(len(get_random_orig(length)))
  15. def add_user_random(rand_bytes,desc):
  16. return fake_urandom(len(add_user_random_orig(rand_bytes,desc)))