Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Möglichst zufälliges Passwort (masterkey) generieren

  Alt 12. Sep 2010, 10:58
Also mein größtes Problem war ja, das ich erstmal nicht wusste, welche Möglichkeiten in der vorhandenen Bibliothek stecken. Mit CryptGenRandom (und Google) kam ich dann auf die Lösung. Zu meiner Schande muss ich gestehen, dass ich den RNGProvider als Provider für eine RNG Verschlüsselung interpretiert hatte (vgl. AESProvider, DECProvider).

Der spezielle RNG (RandomNumberGenerator) für Cryptologie kapselt scheinbar CryptGenRandom.

meine derzeitige Lösung sieht so aus:
Code:
public string GenerateRandomASCIIString(int length)
        {
            RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();
           
            byte[] randBytes = new byte[length];
            rand.GetBytes(randBytes);
           
            for (int i = 0; i < randBytes.Length; i++)
            {
                randBytes[i] = (byte)(randBytes[i] / 2);
                if (randBytes[i] < 33)
                    randBytes[i] = (byte)(randBytes[i] + 33);
            }
           
            string randString = Encoding.UTF8.GetString(randBytes);
            return randString;
        }
Ja, das ist jetzt kein Delphi-Code, aber war ja auch eine allgemeine Frage.

Im Moment wird noch auf darstellbare ASCII-Zeichen (unterer UTF-8 Zeichensatz) geschrumpft, damit ich das Ergebnis kontrollieren kann. Das ist nur temporär.

Das ganze ist Part einer Fuhrpark-Verwaltung, bei der spezielle Dokumente zu einem Fahrzeug verschlüsselt abgelegt werden können. Da das ganze universell werden soll, wollte ich gleich best mögliche Sicherheit implementieren.
  Mit Zitat antworten Zitat