Ver - / Entschlüsselung in C# mit Zertifikat

Ich habe Probleme bei der Suche nach einem guten Beispiel in der ver - /entschlüsseln von strings in C# mit einem Zertifikat. Ich war in der Lage zu finden und zu implementieren, ein Beispiel für Unterzeichnung und Validierung einer Signatur, wie unten gezeigt. Könnte mir jemand zeigen, um eine einfache, ähnliches Beispiel für die Verschlüsselung?

private static string Sign(RSACryptoServiceProvider privateKey, string content)
{
    SHA1Managed sha1 = new SHA1Managed();
    UnicodeEncoding  encoding = new UnicodeEncoding ();
    byte[] data = encoding.GetBytes(content);
    byte[] hash = sha1.ComputeHash(data);

    //Sign the hash
    var signature = privateKey.SignHash(hash, CryptoConfig.MapNameToOID("SHA1"));
    return Convert.ToBase64String(signature);
}

public static bool Verify(RSACryptoServiceProvider publicKey, string content, string hashString)
{
    SHA1Managed sha1 = new SHA1Managed();
    UnicodeEncoding  encoding = new UnicodeEncoding ();
    byte[] data = encoding.GetBytes(content);
    byte[] hash = sha1.ComputeHash(data);
    return publicKey.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA1"), Convert.FromBase64String(hashString));
}
Fragen Sie gewusst wie: laden Sie ein Zertifikat für die Verwendung mit RSA oder haben Sie eine RSACryptoServiceProvider bereits geladen, mit dem Schlüssel aus cert?
Haben Sie gesehen, post?
Hinweis: Sie würden/können nur mit RSA zu verschlüsseln, die kleine Mengen an Daten, anstatt Sie zu beliebigen Längen von text.
Ich habe bereits ein RSACryptoServiceProvider geladen mit privaten/öffentlichen Schlüsseln. Aus einige der Forschung, es ist mein Verständnis, dass ich hätte tun müssen, die schnellere, symmetrische Verschlüsselung zum verschlüsseln der Daten und dann die langsameren, die asymmetrische Verschlüsselung mit dem Zertifikat zum verschlüsseln des Schlüssels. Was ich Probleme habe mit Weben alle online-Beispiele werden gemeinsam in einer encrypt/decrypt-Funktion wie für die Unterzeichnung.

InformationsquelleAutor Ilya | 2017-01-11

Schreibe einen Kommentar