【问题标题】:Converting byte array to hex format将字节数组转换为十六进制格式
【发布时间】:2019-05-11 11:04:12
【问题描述】:

我正在使用 Sha256.Sum256 对密码进行哈希处理,然后我应该将哈希密码存储在数据库中,但我得到的是字节数组而不是十六进制值。我不能这样做 ("%x", hash) 因为这只适用于 fmt

【问题讨论】:

  • “我不能这样做 ("%x", hash),因为这只适用于 fmt” 我不明白这一点。这有效,并返回六进制字符串表示:fmt.Sprintf("%x", sha256.Sum256([]byte{1, 2}))
  • 你也可以这样做:hex.EncodeToString(hash[:]),见Why can not convert [Size]byte to string in Go?

标签: go hash hex


【解决方案1】:

我认为您要问的是“如何制作字节数组的十六进制表示的字符串”

package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    password := "abc123"
    sum := sha256.Sum256([]byte(password))
    hexstring := fmt.Sprintf("%x", sum)
    fmt.Println(hexstring)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-18
    • 2022-01-09
    • 2016-01-13
    • 2013-10-27
    • 2013-02-18
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    相关资源
    最近更新 更多