首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哈希猫哈希类型,将sha256二进制转换为十六进制。

哈希猫哈希类型,将sha256二进制转换为十六进制。
EN

Security用户
提问于 2015-12-22 18:07:11
回答 1查看 2.4K关注 0票数 0

我试图使用hashcat破解长度为32个字符的散列。我知道哈希是sha256。

当我运行以下命令时

代码语言:javascript
复制
hashcat -m 1400 binary-hashfound.txt /path/to/rockyou.txt  

我收到以下错误:

哈希猫的副本很快就会过期..。跳行(行长异常)没有加载散列

我的第一个猜测是,因为我使用的散列长度是32个字符,所以我推断它是二进制类型的sha256hash --因为这个线程带有RickNZ的注释:https://stackoverflow.com/questions/2240973/when-using-a-sha256-hash-how-long-is-the-hash-ie-how-long-should-my-mysql-va

这是正确的假设吗?我没有看到"sha256二进制32“之类的其他相关的sha256哈希类型选择选项。

不知道该在哪里转弯

EN

回答 1

Security用户

回答已采纳

发布于 2015-12-22 18:50:56

这个问题基本上可以归结为编码SHA256哈希的编码方法。

SHA256散列有256位长。

因此,SHA256散列可以用64个十六进制字符的字符串表示,因为有16个不同的十六进制字符0123456789ABCDEF,因此每个十六进制字符表示4位(2^4=16)。256位* (1字符/4位)= 64字符。

或者,SHA256散列可以用43个base64字符的字符串表示,因为,0-9,+,/有64个不同的base64字符,因此每个base64字符代表6位(2^6=64)。256位* (1字符/6位)= 42.667字符。

但是,您是说您正在处理的SHA256哈希是32个字符长。因此,这意味着每个字符将代表8位。256位* (1字符/8位)= 32字符。因此,在这种情况下,每个字符可以有256个不同的值(2^8=256)。

您的散列中的字符看起来可能来自可能有256个不同字符的字符集吗?

如果是这样的话,那么您可能需要将编码转换为其他更广泛的编码--用于表示SHA256散列,例如十六进制。如果不是,那么它最终可能不是一个SHA256哈希。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/108777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档