猿问

如何在golang中使用密码创建rsa私钥

如何在 golang 中使用密码创建 rsa 私钥?在golang,我是新手。我阅读了加密包的文档。没有找到答案。谢谢!


心有法竹
浏览 271回答 1
1回答

蝴蝶不菲

第一步,生成私钥。第二步,将其转换为 PEM 格式。第三步,加密PEM。一切都可以使用Golang的标准库来完成,非常完整。代码并不难,所以我把它放在这里。它所要做的就是知道要使用哪些功能。import (    "crypto/rand"    "crypto/rsa"    "crypto/x509"    "encoding/pem")func PrivateKeyToEncryptedPEM(bits int, pwd string) ([]byte, error) {    // Generate the key of length bits    key, err := rsa.GenerateKey(rand.Reader, bits)    if err != nil {        return nil, err    }    // Convert it to pem    block := &pem.Block{        Type:  "RSA PRIVATE KEY",        Bytes: x509.MarshalPKCS1PrivateKey(key),    }    // Encrypt the pem    if pwd != "" {        block, err = x509.EncryptPEMBlock(rand.Reader, block.Type, block.Bytes, []byte(pwd), x509.PEMCipherAES256)        if err != nil {            return nil, err        }    }    return pem.EncodeToMemory(block), nil}
随时随地看视频慕课网APP

相关分类

Go
我要回答