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?
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.
Tags und Links .net c# encryption rsa