Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menjana Pasangan Kunci RSA dalam Go dan Menulisnya untuk Mengasingkan Fail?

Bagaimana untuk Menjana Pasangan Kunci RSA dalam Go dan Menulisnya untuk Mengasingkan Fail?

Barbara Streisand
Lepaskan: 2024-12-16 13:35:10
asal
416 orang telah melayarinya

How to Generate RSA Key Pairs in Go and Write Them to Separate Files?

Menjana Kunci RSA dalam Go Like openssl genrsa

Ikhtisar

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.

Panduan Langkah demi Langkah

1. Import Perpustakaan yang Diperlukan

import (
    "crypto/rand"
    "crypto/rsa"
    "crypto/x509"
    "encoding/pem"
    "io/ioutil"
)
Salin selepas log masuk

2. Jana Pasangan Kunci

filename := "key"
bitSize := 4096

// Generate RSA keypair
key, err := rsa.GenerateKey(rand.Reader, bitSize)
Salin selepas log masuk

3. Ekstrak Komponen Awam

pub := key.Public()
Salin selepas log masuk

4. Kodkan kepada PEM

// 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)),
    },
)
Salin selepas log masuk

5. Tulis ke Fail

// 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)
}
Salin selepas log masuk

Kesimpulan

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan