小编zel*_*con的帖子

当我说8时,Golang为什么不给我8个字节?

我以为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)

binary byte bytearray go

0
推荐指数
1
解决办法
133
查看次数

标签 统计

binary ×1

byte ×1

bytearray ×1

go ×1