当前位置: 首页 > 面试题库 >

如何在Go中获取十六进制编码的md5哈希

国兴文
2023-03-14
问题内容

我试图在Go中获取文件的md5哈希,如下所示:

running_hash := md5.New(); // type hash.Hash
running_hash.Write(data);  // data is []byte
sum := running_hash.Sum(); // []uint8 according to the compiler

但是当我尝试通过以下方式获取哈希的’sum’(http://golang.org/pkg/hash/)的字符串时

sumstring := string(sum);  // returns 'Ӿ��]앿��N��' or similar

当哈希应该是d3be9e835dec95bfbef34ebe1fbf03da。当我尝试逐字节转换时,我得到的都是废话,只是字符不同。

我该如何获取哈希的字符串?


问题答案:

基本上,您已经获得了二进制数据,但是看起来您正在期待十六进制。看一下转换例程的hex包,尤其是EncodeToString。我不是一个程序员去,但我认为,如果你只是传递sum进入hex.EncodeToString,你会得到你需要的答案。



 类似资料:
  • 问题内容: 如何获取元素的背景色代码? 我想要的是 问题答案: 检查下面的示例链接,然后单击div以获取十六进制的颜色值。

  • 问题内容: 我有一个十进制颜色代码(例如)。我将其转换为与的十六进制等效项。如何从十六进制颜色代码中获取红色,绿色和蓝色分量值? 问题答案: 假设这是一个字符串:

  • 嘿,我在关注波士顿新闻的Android学习系列。我在这个部分:http://www.youtube.com/watch?feature=player_embedded 现在,我想做的是在某个地方(在代码或文件中)保存一些基本颜色,例如红色、绿色等,并为它们分配HEX代码。 比如,如果用户在“edittext”中键入“red”,那么我想将“red”的值存储为“#FF0000”(就像C中的#defin

  • 问题内容: 我正在研究PHP5中的编码。有某种方法可以获取字符串的原始十六进制转储吗?即字符串中每个字节(不是字符)的十六进制表示? 问题答案: 要么: 是包含输入的变量。

  • 问题内容: 我有一个代表2的补码的十六进制字符串。是否有一种简单的方法(库/函数)将十六进制转换为十进制而不直接使用其位? EG这是给定左侧十六进制的预期输出: 谢谢! 问题答案: 这似乎在欺骗Java转换数字而不强制给出正结果: 当然,这种情况仅适用于8、16、32和64位2的补码: