Maison >développement back-end >Golang >Comment puis-je générer des paires de clés RSA dans Go, similaires à la commande « openssl genrsa » d'OpenSSL ?
Utilisez Go pour générer des clés RSA de la même manière qu'Openssl
La commande OpenSSL openssl genrsa génère une paire de clés RSA, stockant le clé privée dans un fichier et clé publique dans un autre. Pour obtenir cette fonctionnalité dans Go, vous pouvez suivre ces étapes :
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)
Ce code générera deux fichiers, filename.rsa et filename.rsa.pub, contenant respectivement les clés RSA privées et publiques. Les clés seront au format PEM, ce qui vous permettra de les importer et de les utiliser facilement avec d'autres applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!