Java RSA verschlüsseln - entschlüsseln .NET

8

Ich verschlüssele auf JAVA mit RSA und versuche, mit .NET zu entschlüsseln. Ich schließe meinen JAVA-Code und .NET-Code ein, in der Hoffnung, dass jemand Erfahrung mit dieser Art von Dingen hat.

JAVA-Code:

%Vor%

Von diesem JAVA-Code nehme ich die Ergebnisse des chiffriertenStrings, die zufällig sind:

FoP4 + AAIH6hcabXnrvNG5YUk / nBv9n9HU0CAgZjkIWQIDjbOpSwoPVBFERrZ6641x2QaoJw5yv18XAay + 0WrCaSw4sveRX + hmPm5qeVUPcjoR4slsVZ / hBFJtAHj9tva4hOugWDZa9s3RVJlxkNfE + u + Kt / YKLOi2EYbH05HjeM =

Und versuchen Sie, den folgenden .NET-Code zu entschlüsseln

%Vor%     
badMonkey 23.04.2010, 13:23
quelle

1 Antwort

7

Auf Java-Seite müssen Sie "RSA/ECB/PKCS1Padding" als Algorithmus verwenden. Mit dem einfachen Namen "RSA" fügt Java nicht die PKCS # 1 Auffüllung hinzu, die die C # -Policy enthält. Umsetzung erwartet, daher die "schlechten Daten".

Das Padding ist eine Umwandlung der Eingabedaten (Ihre codierte Zeichenfolge) in eine etwas größere Zeichenfolge, die dieselbe Länge wie das RSA-Modul (hier 128 Byte) hat. Es ist wichtig für die Sicherheit und injiziert etwas Zufälligkeit (die gleiche Eingabe-Zeichenfolge wird nicht immer die gleiche verschlüsselte Zeichenfolge liefern; aber die Entschlüsselung entfernt diese Zufälligkeit und stellt dennoch die richtige Zeichenfolge wieder her).

    
Thomas Pornin 23.04.2010, 13:46
quelle