Simulieren von / dev / random unter Windows

7

Ich versuche gerade, Python-Code von Linux in Windows zu portieren. An verschiedenen Stellen werden Zufallszahlen durch Lesen von / dev / random erzeugt. Gibt es eine Möglichkeit, / dev / random auf Windows zu simulieren?

Ich suche nach einer Lösung, die den Code für Linux nutzbar machen würde ...

    
scherlock 06.06.2012, 11:48
quelle

3 Antworten

13

Wenn Sie Python verwenden, warum interessieren Sie sich für die spezifische Implementierung? Verwenden Sie einfach das Modul random und lassen Sie sich damit beschäftigen.

Darüber hinaus (wenn Sie sich nicht auf den Software-Status verlassen können) os.urandom liefert os-basierte Zufallswerte:

  

Auf einem UNIX-ähnlichen System wird dies / dev / urandom abfragen, und auf Windows es   wird CryptGenRandom verwenden.

( random.SystemRandom stellt hierfür eine nette Schnittstelle zur Verfügung.)

Wenn Sie wirklich ernst damit sind, kryptografisch zufällig zu sein, sollten Sie PyCrypto .

    
Gareth Latty 06.06.2012, 11:53
quelle
7

Sie könnten stattdessen random.SystemRandom aufrufen. Dies wird CryptGenRandom für Windows und / dev / urandom für Linux verwenden.

Sonst gibt es immer Cygwins / dev / random?

    
Soz 06.06.2012 11:54
quelle
1

Sie können random aus Pythons Standardbibliothek verwenden.

    
Steve 06.06.2012 11:53
quelle

Tags und Links