尝试制作数字生成器并输出到文件

问题描述 投票:0回答:1

我正在尝试破解一个 SHA512 字符串,我知道其中的一些参数,即散列的数字在 16500000000 和 17000000000 之间,但是数字太大,因为我收到错误“无效数字。数字仅限于 32-”位精度”。我使用的是从这篇文章找到的计数器。我尝试使用下面的代码:

@echo off
set var1=16500000000

:loop
    set /a var1=%var1%+1

echo %var1% > .\Unhashed\%var1%.txt
ping localhost -n 1 >NUL
if %var1% EQU 17000000000 (
    goto :end
) else (
    goto :loop
)

:end
    pause

它生成一个以生成的每个数字命名的文本文件(以及里面的#),然后我可以使用提供的已知哈希值作为数据库自动哈希和测试。

我不够聪明,无法尝试实现更多代码来解决这个问题:(

batch-file
1个回答
0
投票

坏消息是批处理使用有符号的 32 位整数,其最大值为 2,147,483,647。好消息是,因为您停在 170 亿,所以您可以直接去掉前两位数字并正常增加剩余的数字。

@echo off
for /L %%A in (500000000,1,999999999) do (
    echo 16%%A >"Unhashed\16%%A.txt"
)
echo 17000000000 >"Unhashed\17000000000.txt"

值得注意的是,几乎可以肯定有一种方法可以实现您的最终目标,而无需创建 5 亿个文本文件(以及所需的所有磁盘空间),但我需要有关您的确切情况的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.