Hi Guest

More contents, please log on!

Bitmere.com 区块链技术 Content
package main
import (
        "crypto/rand"
        "crypto/rsa"
        "crypto/x509"
        "encoding/pem"
        "flag"
        "log"
        "os"
)
func main()  {
        if err := GenerateRSAKey(); err != nil {
                log.Fatal("密钥生成失败")
        }
        log.Println("密钥生成成功")
}
func GenerateRSAKey() error {
        //1  RSA生成私钥文件步骤
        //--1生成RSA私钥对
        var bits int
        flag.IntVar(&bits,"key flag",1024,"密钥长度,默认值位1024")
        privatekey,err :=rsa.GenerateKey(rand.Reader,bits)
        if err != nil {
                return err
        }
        //--2.将私钥对象转换为DER编码形式
        derPribateKey := x509.MarshalPKCS1PrivateKey(privatekey)
        //--3.创建私钥pem文件
        file,err := os.Create("./files/private.pem")
        if err != nil {
                return err
        }
        //--4.对私钥信息进行编码,写入到私钥文件中
        block := &pem.Block{
                Type:    "RSA PRIVATE KEY",
                Bytes:   derPribateKey,
        }
        err = pem.Encode(file,block)
        if err != nil {
                return  err
        }
        //2 RSA生成公钥文件的核心步骤
        //--1.生成公钥对象
        publickey := &privatekey.PublicKey
        //--2.将公钥对象转换为DER编码形式
        derpublicKey,err := x509.MarshalPKIXPublicKey(publickey)
        if err != nil {
                return  err
        }
        //--3.创建公钥pem文件
        file,err = os.Create("./files/public.pem")
        if err != nil {
                return  err
        }
        //--4.对公钥信息进行编码,写入公钥文件中
        block = &pem.Block{
                Type:    "PUBLIC KEY",
                Bytes:   derpublicKey,
        }
        err = pem.Encode(file,block)
        if err != nil {
                return  err
        }
        return nil
}
执行后,自动在files目录下生成加密过后的公私钥文件,如下
BitMere.com is Information release platform,just provides information storage space services.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
You have to log in before you can reply Login | 立即注册

Points Rules

Write the first review

吃瓜围观小分队 小学生
  • Follow

    0

  • Following

    0

  • Articles

    3

Promoted