Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menjana Pasangan Kunci RSA dalam Go, Sama seperti Perintah `openssl genrsa` OpenSSL?
Gunakan Go to Generate RSA Keys dengan Cara Yang Sama seperti Openssl
Arahan OpenSSL openssl genrsa menjana sepasang kunci RSA, menyimpan kunci peribadi dalam satu fail dan kunci awam dalam fail lain. Untuk mencapai fungsi ini dalam Go, anda boleh mengikuti langkah berikut:
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)
Kod ini akan menghasilkan dua fail, nama fail.rsa dan nama fail.rsa.pub, masing-masing mengandungi kunci RSA peribadi dan awam. Kekunci akan berada dalam format PEM, yang membolehkan anda mengimport dan menggunakannya dengan mudah dengan aplikasi lain.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Pasangan Kunci RSA dalam Go, Sama seperti Perintah `openssl genrsa` OpenSSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!