Co jest bardziej przypadkowe, hashlib lub urandom?

Pracuję nad projektem z przyjacielem, w którym musimy wygenerować losowy skrót. Zanim zdążyliśmy porozmawiać, obaj wymyśliliśmy różne podejścia i ponieważ używają różnych modułów, chciałem zapytać was, co byłoby lepsze - jeśli jest coś takiego.

<code>hashlib.sha1(str(random.random())).hexdigest()
</code>

lub

<code>os.urandom(16).encode('hex')
</code>

Wypisanie tego pytania sprawiło, że pomyślałem, że druga metoda jest lepsza. Proste jest lepsze niż złożone. Jeśli się zgadzasz, jak wiarygodne jest to dla „losowo” generujących skrótów? Jak mam to przetestować?

questionAnswers(5)

yourAnswerToTheQuestion