我以为x := make([]byte, N)应该定义一个N字节的片段.我得到0x015f82a975f9752b作为输出,在基数2中是:
0001 0101 1111 1000 0010 1010 1001 0111 0101 1111 1001 0111 0101 0010 1011
不是8. 我错过了什么?
请参阅genSalt()下面的功能及其输出.
package main
import (
"crypto/rand"
"crypto/sha256"
"fmt"
"golang.org/x/crypto/pbkdf2"
"log"
)
// generate a salt with N random bytes
func genSalt() []byte {
ret := make([]byte, 8) // N == 8 (..right?)
_, err := rand.Read(ret)
if err != nil {
log.Fatal(err)
}
return ret
}
// pbkdf2 with sha256
// returns sha256.Size == 32 …Run Code Online (Sandbox Code Playgroud)