Golang生成一个32字节的密钥

Lee*_*Lee 10 go

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

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

它说:

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

我如何生成一个64字节的密钥,它是否直截了当[]byte"64characterslongstring",我认为它并不总是这么直接?

Agi*_*gis 28

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

package main

import "crypto/rand"

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

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

在这里演示.