Einfache RSA-Verschlüsselung / Entschlüsselung in .NET?

8

Ich möchte ein Schlüsselpaar generieren und einfach etwas eingeben wie:

%Vor%

Gibt es einen einfachen Weg, dies zu tun? Ich weiß, dass es etwas wie RsaCryptoServiceProvider gibt, aber es benötigt XML, um richtiges Objekt zu schaffen. Ich möchte den privaten / öffentlichen Schlüssel als einfache Zeichenfolge (nicht XML) speichern, die ich in web.config in

ablegen werde %Vor%

Und später werde ich web.config verschlüsseln, damit alles sicher ist (IIS wird sich damit befassen). Ist das möglich?

    
Simon 06.07.2011, 07:34
quelle

1 Antwort

10

Erstellen Sie ein RSACryptoServiceProvider-Objekt mit Ihrer bevorzugten Schlüsselgröße (512/1024/2048 ...):

%Vor%

Oder verwenden Sie die Standardgröße:

%Vor%

Verwenden Sie dann ExportParameters, um das zu erhalten, was Sie im Byte-Array benötigen, um beispielsweise den Modul-Teil des öffentlichen Schlüssels zu verwenden:

%Vor%

Ich habe einen gültigen Wert in ExportParameters übergeben, weil Sie Zugriff auf die Parameter des privaten Schlüssels haben wollten.

und dann müssen Sie nur das Byte-Array in einen String konvertieren:

%Vor%

Wenn Sie später das web.config-Objekt lesen und das RSACryptoServiceProvider-Objekt erneut erstellen möchten, erstellen Sie ein RSAParameters-Objekt mit dem in der Datei gespeicherten Text und übergeben Sie dann die RSAParameters an den RSACryptoServiceProvider-Konstruktor.

Und nur ein Hinweis: Die Datei web.config, die Sie speichern, sollte sehr privat gehalten werden, da Sie Ihre privaten Schlüssel darin speichern.

    
galbarm 06.07.2011, 07:40
quelle

Tags und Links