go 生成 License 公钥 私钥

简介: go 生成 License 公钥 私钥

请注意,一个公钥可以对应多个私钥

package main
 import (
  "crypto/rand"
  "crypto/rsa"
  "crypto/x509"
  "encoding/pem"
  "fmt"
  "log"
  "os"
)
 func main() {
  // 生成 RSA 密钥对
  privateKey, err := rsa.GenerateKey(rand.Reader, 2048)
  if err != nil {
    log.Fatalf("无法生成私钥:%v", err)
  }
  // 从私钥中导出公钥
  publicKey := &privateKey.PublicKey
  // 将私钥编码为 PEM 格式
  privateKeyPem := &pem.Block{
    Type:  "RSA PRIVATE KEY",
    Bytes: x509.MarshalPKCS1PrivateKey(privateKey),
  }
  // 将公钥编码为 PEM 格式
  publicKeyBytes, err := x509.MarshalPKIXPublicKey(publicKey)
  if err != nil {
    log.Fatalf("无法导出公钥:%v", err)
  }
  publicKeyPem := &pem.Block{
    Type:  "PUBLIC KEY",
    Bytes: publicKeyBytes,
  }
  // 将私钥和公钥写入文件
  privateKeyFile, err := os.Create("private.pem")
  if err != nil {
    log.Fatalf("无法创建私钥文件:%v", err)
  }
  defer privateKeyFile.Close()
  pem.Encode(privateKeyFile, privateKeyPem)
  publicKeyFile, err := os.Create("public.pem")
  if err != nil {
    log.Fatalf("无法创建公钥文件:%v", err)
  }
  defer publicKeyFile.Close()
  pem.Encode(publicKeyFile, publicKeyPem)
  fmt.Println("公钥和私钥已生成并保存到 public.pem 和 private.pem 文件中。")
}
目录
相关文章
|
Go 数据安全/隐私保护
Go License 公钥 私钥 加密 解密
Go License 公钥 私钥 加密 解密
190 0
|
Go
go 生成 License 公钥 私钥
go 生成 License 公钥 私钥
256 0
|
3月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
243 1
|
11月前
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
11月前
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
5月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
332 1
|
5月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
425 0
|
5月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
286 0
|
5月前
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
268 0
|
5月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
354 0

热门文章

最新文章