crypto.py 554 B

123456789101112131415161718192021
  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. fake_rand_h = sha256('.'.join(sys.argv).encode())
  6. def fake_urandom(n):
  7. def gen(rounds):
  8. for i in range(rounds):
  9. fake_rand_h.update(b'foo')
  10. yield fake_rand_h.digest()
  11. return b''.join(gen(int(n/32)+1))[:n]
  12. def get_random(length):
  13. return fake_urandom(len(get_random_orig(length)))
  14. def add_user_random(rand_bytes,desc):
  15. return fake_urandom(len(add_user_random_orig(rand_bytes,desc)))