AES-Verschlüsselung in Golang und Entschlüsselung in Java
In diesem Artikel werden wir die Implementierung der AES-Verschlüsselung in Golang untersuchen und zeigen, wie das geht Entschlüsseln Sie den verschlüsselten Text in Java.
Golang-Verschlüsselungsfunktion
Die Golang-Verschlüsselungsfunktion wandelt eine Klartextzeichenfolge in verschlüsselten Chiffretext um, wobei der Advanced Encryption Standard (AES) mit Cipher verwendet wird Block Feed (CFB)-Modus. Es generiert einen zufälligen Initialisierungsvektor (IV), verschlüsselt den Klartext und gibt den verschlüsselten Text als Base64-codierte Zeichenfolge zurück.
Java-Entschlüsselungsfunktion
Die Java-Entschlüsselung Die Funktion verwendet den verschlüsselten Text und den Verschlüsselungsschlüssel als Eingabe. Es dekodiert die Base64-kodierten Daten, extrahiert die IV und initialisiert die AES/CFB/NoPadding-Verschlüsselung. Anschließend wird der Chiffretext entschlüsselt, um den ursprünglichen Klartext abzurufen, der dann als Zeichenfolge zurückgegeben wird.
Scala-Entschlüsselungsfunktion
Die bereitgestellte Scala-Entschlüsselungsfunktion ähnelt der Java-Funktion. Es verwendet den Base64-URL-Decoder, um den Eingabetext zu dekodieren, initialisiert die AES/CFB/NoPadding-Verschlüsselung, extrahiert die IV und entschlüsselt den Chiffretext. Allerdings wurde ursprünglich Hex.decodeHex verwendet, das für eine genaue Entschlüsselung durch den Base64-URL-Decoder ersetzt werden sollte.
Beispielverwendung
Sie können die bereitgestellte Golang-Verschlüsselungsfunktion verwenden um Text in Golang zu verschlüsseln. Der resultierende Chiffretext kann an die Java- oder Scala-Entschlüsselungsfunktionen übergeben werden, um den ursprünglichen Klartext abzurufen. Betrachten Sie beispielsweise den Eingabetext „Testtext 123“. Die Verschlüsselungsfunktion in Golang erzeugt „c1bpFhxn74yzHQs-vgLcW6E5yL8zJfgceEQgYl0=" als verschlüsselten Chiffretext. Anschließend können die Java- oder Scala-Entschlüsselungsfunktionen verwendet werden, um den ursprünglichen Klartext „Testtext 123“ wiederherzustellen.
Das obige ist der detaillierte Inhalt vonHier sind einige mögliche Titel, die mit unterschiedlichen Tönen und Zielgruppen spielen: Direkt und informativ: * So verschlüsseln Sie mit Golang und entschlüsseln mit Java oder Scala (mit AES-CFB) * Cross-Lang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!