Heim >Backend-Entwicklung >Golang >Wie kann ich RSA-Schlüsselpaare in Go generieren, ähnlich dem OpenSSL-Befehl „openssl genrsa'?
Verwenden Sie Go, um RSA-Schlüssel auf die gleiche Weise wie Openssl zu generieren
Der OpenSSL-Befehl openssl genrsa generiert ein Paar RSA-Schlüssel und speichert die Der private Schlüssel befindet sich in einer Datei und der öffentliche Schlüssel in einer anderen. Um diese Funktionalität in Go zu erreichen, können Sie die folgenden Schritte ausführen:
import "crypto/rand" key, err := rsa.GenerateKey(rand.Reader, bitSize) if err != nil { panic(err) }
import "crypto/rsa" pub := key.Public()
import ( "encoding/pem" "crypto/x509" ) keyPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(key), }, ) pubPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PUBLIC KEY", Bytes: x509.MarshalPKCS1PublicKey(pub.(*rsa.PublicKey)), }, )
import "io/ioutil" err := ioutil.WriteFile(filename+".rsa", keyPEM, 0700) err := ioutil.WriteFile(filename+".rsa.pub", pubPEM, 0755)
Dieser Code generiert zwei Dateien, filename.rsa und filename.rsa.pub, die jeweils den privaten und den öffentlichen RSA-Schlüssel enthalten. Die Schlüssel liegen im PEM-Format vor, sodass Sie sie problemlos importieren und mit anderen Anwendungen verwenden können.
Das obige ist der detaillierte Inhalt vonWie kann ich RSA-Schlüsselpaare in Go generieren, ähnlich dem OpenSSL-Befehl „openssl genrsa'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!