gpt4 book ai didi

go - openpgp 和 golang

转载 作者:IT王子 更新时间:2023-10-29 01:37:18 27 4
gpt4 key购买 nike

我对文档有一些疑问。

这是我的程序:

package main

import (
"bytes"
"code.google.com/p/go.crypto/openpgp"
"encoding/base64"
"fmt"
)

func main() {

var entity *openpgp.Entity
entity, err := openpgp.NewEntity("bussiere", "test", "bussiere@gmail.com", nil)
if err != nil {

}

var (
buffer bytes.Buffer
)

entity.SerializePrivate(&buffer, nil)
data := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

fmt.Printf("%q\n", data)

entity.Serialize(&buffer)
data2 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

fmt.Printf("%q\n", data2)

entity.PrivateKey.Serialize(&buffer)
data3 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

fmt.Printf("%q\n", data3)

entity.PrimaryKey.Serialize(&buffer)
data4 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

fmt.Printf("%q\n", data4)

//fmt.Printf(buffer.String())

}

数据如下:

https://gist.github.com/bussiere/5159890

这里是要点上的代码:

https://gist.github.com/bussiere/5159897

什么是公钥?

以及如何使用它?

如何制作更大的 key ?

最佳答案

更新:此问题已修复:see here

下面的解决方案/描述不再适用。

---------------- 遗留答案从下面开始--------------------

关于如何构建其他大小的 key 的问题:这是不可能的。

我遇到了完全相同的问题,请查看:NewEntityFunction 的源代码:

383 const defaultRSAKeyBits = 2048
384
385 // NewEntity returns an Entity that contains a fresh RSA/RSA keypair with a
386 // single identity composed of the given full name, comment and email, any of
387 // which may be empty but must not contain any of "()<>\x00".
388 // If config is nil, sensible defaults will be used.
389 func NewEntity(name, comment, email string, config *packet.Config) (*Entity, error) {
390 currentTime := config.Now()
391
392 uid := packet.NewUserId(name, comment, email)
393 if uid == nil {
394 return nil, errors.InvalidArgumentError("user id field contained invalid characters")
395 }
396 signingPriv, err := rsa.GenerateKey(config.Random(), defaultRSAKeyBits)
397 if err != nil {
398 return nil, err
399 }
400 encryptingPriv, err := rsa.GenerateKey(config.Random(), defaultRSAKeyBits)
401 if err != nil {
402 return nil, err
403 }

defaultRSAKeyBits 是 pkg 级别的未导出常量。因此没有机会修改此行为。

我最终复制了整个函数,为键位添加了一个参数并将其保存在我的代码库中,如果有人有更好的解决方案,我会很高兴听到。

关于go - openpgp 和 golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15474334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com