有没有办法确认字符串是SHA256哈希



我想验证字符串是另一个的sha256表示,而无需解密。这可能吗?

是和否。

您可以很容易地测试字符串是十六进制。然后,您可以测试它包含统计上明智的数字数字和字母。这将排除一些常见的非SHA256字符串。

但是,如果某人创建了一个随机字符串,设计为看起来像SHA256,我认为没有任何数学测试可以将其与真实事物区分开。该算法的设计为强大。

sha-256值只是一个256位(32个字节)值,您通常表示为 String或java中的 byte[]

作为值本身的值,这是毫无意义的,如果您想确定特定的 String是哈希,那么任何32个字节号都是无限的未知纯文本的哈希。但这就像问"我怎么知道一个32字节是一个数字?",您看到您无处可去。

仅在将其配对纯文本时才有用,因此您可以将其与纯文本计算的哈希进行比较以验证它们匹配它们。

我认为您可以做的是哈希另一个字符串,然后彼此比较这两个字符串。
不知道这是否会对您有所帮助,但我读到创建用于破解密码的彩虹桌时通常使用的实践。
编辑:哦,忘记这也是当您登录到网页iirc时比较PHP密码的方法。
至少我必须这样做。

最新更新