【问题标题】:Base64 decode becomes weird textBase64 解码变成奇怪的文字
【发布时间】:2017-03-07 23:08:22
【问题描述】:

我正在用 base64 尝试一些新的东西。 sha-256(base64) 方法。它有一个base64的输出,所以我想我可以将它解码为base64。那么它变成了这个,......有没有办法解码那种类型的base64甚至是散列,因为它散列sha-256?这是原始哈希:viAQv+m8YcpiY2ZWeCYOtCAcelPjSlq3kaO+I801D7w=

这只是为了进一步了解散列和数据安全。我知道原始哈希的输出是什么,但我只是想训练我的知识。

有什么办法可以解密吗?提前致谢。

PS:我也试过先去十六进制,然后它给了我这个,���a�bcfVx&�zS�JZ����#�5�

请帮忙。

【问题讨论】:

  • 您得到的输出是 256 位哈希(来自 SHA-256)。它以这种方式显示是因为您直接打印它(作为字符串)。尝试以十六进制或类似的形式打印字节。
  • 如果您希望结果以可以复制和粘贴的形式出现,那么只需将其保留在 base64 编码中即可。这就是 base64 的意义所在。
  • 你指的这个“sha-256(base64)方法”是什么?如果你想要一个哈希值,只需使用 sha-256。将它与 base64 编码结合起来没有多大意义,而且由于它是一个散列函数,因此将无法解密。 (另外,你为什么要添加一个包含与问题第一段完全相同的 unicode 垃圾的 PS?)
  • 考虑接受有帮助的答案。通过接受一个答案,您向未来的读者表明这是一个正确的答案。要接受答案,请单击最佳答案旁边的空心复选标记,这样做会提高您的声誉并提供更多功能,请参阅reputation faq 更多详细信息,请参阅this page

标签: encryption hash base64 sha256


【解决方案1】:

SHA-256,一般的加密函数,产生二进制字节序列,而不是可显示的字符。

当需要有一个可显示的版本时,数据通常被编码为 Base64 或十六进制。解码回二进制会产生许多无法显示的字节。

当尝试显示具有不可显示值的字节时,会显示占位符字形,例如 �。

【讨论】:

    猜你喜欢
    • 2011-08-03
    • 2019-08-03
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多