在批处理文件中使用 certutil 取消散列

Unhashing with certutil in batchfile

所以我正在学习 Windows 批处理文件中的散列,我想知道是否有一种简单的方法来取消散列文本。

为了散列文本,我一直在使用这个:

set /p input=Text: 

echo %input%>%temp%\hashinput.tmp
CertUtil -hashfile %temp%\hashinput.tmp sha256 | findstr /v "hash">%temp%\hashoutput.tmp
set /p output=<%temp%\hashoutput.tmp

del %temp%\hashinput.tmp
del %temp%\hashoutput.tmp

echo %output%

它所做的只是将用户输入发送到一个临时文件,对其进行哈希处理并将其发送到一个临时文件,并在删除文件之前为输出设置一个变量。

环顾四周后,我无法找到使用 CertUtil 或任何其他命令取消散列文本的方法。如果有一个简单的方法,我很想知道如何。

没有可行的方法从 hash 获取原始输入,这就是重点。您可以通过尝试所有可能的输入来尝试蛮力,但这不切实际,这将花费太多时间。

散列的另一个名称是 one-way function...