Golang生成一个32字节的密钥

时间:2014-01-16 11:17:21

标签: go

我正在使用这个库进行会话。

https://github.com/codegangsta/martini-contrib/tree/master/sessions

它说:

建议使用32或64字节的身份验证密钥。加密密钥(如果已设置)必须为16,24或32字节才能选择AES-128,AES-192或AES-256模式。

如何生成64字节密钥,它是否像[]byte"64characterslongstring"一样简单,我认为它并不总是那么直接?

1 个答案:

答案 0 :(得分:27)

生成64个随机字节的片段:

package main

import "crypto/rand"

func main() {
    key := make([]byte, 64)

    _, err := rand.Read(key)
    if err != nil {
        // handle error here
    }
}

演示here