【发布时间】:2013-03-18 10:18:16
【问题描述】:
我的文档有些问题。
这是我的程序:
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
这里是 gist 上的代码:
https://gist.github.com/bussiere/5159897
什么是公钥?
以及如何使用它?
以及如何制作更大的钥匙?
【问题讨论】:
-
从您的脚本输出中显而易见的一个问题是,您没有在每个
Serialize调用之间重置缓冲区,因此到最后您将所有这些数据块连接起来。不确定您问题的其他部分。 -
感谢缓冲区。我想要一个关于如何使用我生成的密钥的例子谢谢。