Arahan openssl genrsa menjana kunci RSA. Kita boleh mencapai fungsi yang sama dalam Go menggunakan pakej crypto/rsa. Artikel ini menyediakan panduan terperinci tentang cara menjana pasangan kunci RSA dan menulisnya untuk memisahkan fail dalam Go.
import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "io/ioutil" )
filename := "key" bitSize := 4096 // Generate RSA keypair key, err := rsa.GenerateKey(rand.Reader, bitSize)
pub := key.Public()
// Encode private key to PKCS#1 ASN.1 PEM keyPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PRIVATE KEY", Bytes: x509.MarshalPKCS1PrivateKey(key), }, ) // Encode public key to PKCS#1 ASN.1 PEM pubPEM := pem.EncodeToMemory( &pem.Block{ Type: "RSA PUBLIC KEY", Bytes: x509.MarshalPKCS1PublicKey(pub.(*rsa.PublicKey)), }, )
// Write private key to file if err := ioutil.WriteFile(filename+".rsa", keyPEM, 0700); err != nil { panic(err) } // Write public key to file if err := ioutil.WriteFile(filename+".rsa.pub", pubPEM, 0755); err != nil { panic(err) }
Dengan mengikut langkah yang digariskan di atas, anda boleh menjana pasangan kunci RSA dengan mudah dan menulisnya untuk memisahkan fail dalam Go, serupa dengan arahan openssl genrsa. Panduan komprehensif ini menyediakan asas yang kukuh untuk bekerja dengan kunci RSA dalam aplikasi Go anda.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Pasangan Kunci RSA dalam Go dan Menulisnya untuk Mengasingkan Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!