add_user_random(): new osrand_bytes param
This commit is contained in:
parent
3836be8b31
commit
1fe733d159
2 changed files with 6 additions and 4 deletions
|
|
@ -313,6 +313,7 @@ class Crypto:
|
|||
rand_bytes,
|
||||
*,
|
||||
desc,
|
||||
osrand_bytes = 8,
|
||||
urand = {'data': b'', 'counter': 0}):
|
||||
|
||||
assert type(rand_bytes) is bytes, 'add_user_random_chk1'
|
||||
|
|
@ -326,8 +327,9 @@ class Crypto:
|
|||
# counter protects against very evil rng that might repeatedly output the same data
|
||||
urand['counter'] += 1
|
||||
|
||||
os_rand = os.urandom(8)
|
||||
assert len(os_rand) == 8, f'OS random number generator returned {len(os_rand)} (!= 8) bytes!'
|
||||
os_rand = os.urandom(osrand_bytes)
|
||||
assert len(os_rand) == osrand_bytes, (
|
||||
f'OS random number generator returned {len(os_rand)} (!= {osrand_bytes}) bytes!')
|
||||
|
||||
import hmac
|
||||
key = hmac.digest(
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ if overlay_fake_os.getenv('MMGEN_TEST_SUITE_DETERMINISTIC'):
|
|||
Crypto.get_random = lambda self, length: overlay_fake_urandom(
|
||||
len(overlay_fake_get_random_orig(self, length)))
|
||||
|
||||
Crypto.add_user_random = lambda self, rand_bytes, desc: overlay_fake_urandom(
|
||||
len(overlay_fake_add_user_random_orig(self, rand_bytes, desc=desc)))
|
||||
Crypto.add_user_random = lambda self, rand_bytes, *, desc, osrand_bytes=8: overlay_fake_urandom(
|
||||
len(overlay_fake_add_user_random_orig(self, rand_bytes, desc=desc, osrand_bytes=osrand_bytes)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue