Heim > Backend-Entwicklung > Golang > Wie kann ich RSA-Schlüssel in Go ver- und entschlüsseln?

Wie kann ich RSA-Schlüssel in Go ver- und entschlüsseln?

Mary-Kate Olsen
Freigeben: 2024-12-05 01:42:10
Original
626 Leute haben es durchsucht

How Can I Encrypt and Decrypt RSA Keys in Go?

RSA-Schlüssel verschlüsseln und entschlüsseln

Die Programmiersprache Go stellt das crypto/rsa-Paket für die Handhabung von RSA-Schlüsseln bereit. Es ist jedoch möglicherweise nicht sofort ersichtlich, wie diese Schlüssel effektiv gespeichert und für die spätere Verwendung geladen werden können.

Codieren privater RSA-Schlüssel

Um einen rsa.PrivateKey in einen umzuwandeln []byte, das crypto/x509-Paket bietet eine bestimmte Funktion:

func MarshalPKCS1PrivateKey(key *rsa.PrivateKey) []byte
Nach dem Login kopieren

Diese Funktion marshallt den privaten Schlüssel in ein Byte Array. Um den Schlüssel aus den Bytes wiederherzustellen, verwenden Sie:

func ParsePKCS1PrivateKey(der []byte) (key *rsa.PrivateKey, err error)
Nach dem Login kopieren

Marshaling des Schlüssels im PEM-Format

Eine gängige Praxis besteht darin, den gemarshallten Schlüssel in eine PEM-Datei zu kodieren . Das folgende Codebeispiel demonstriert dies:

pemdata := pem.EncodeToMemory(
    &pem.Block{
        Type: "RSA PRIVATE KEY",
        Bytes: x509.MarshalPKCS1PrivateKey(key),
    },
)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich RSA-Schlüssel in Go ver- und entschlüsseln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage