Вы не можете «взломать» хэш SHA256 независимо от того, сколько информации вы знаете об открытом тексте (предполагая, что по трещине вы имеете в виду вывод из текста хэша). Даже если вы знаете пароль, вы не можете определить какую-либо процедуру для отмены хэша. С технической точки зрения, нет известного способа выполнить preimage attack в хешировании SHA256.
Это означает, что вы должны прибегнуть к догадкам или брута пароль:
У вас есть префикс, который может быть любым значением в [1-25]-
и 10 дополнительных символах в [a-zA-Z0-9]
. Это означает, что общее количество возможных паролей: 25 * 62^10
или 20,982,484,146,708,505,600
.
Если вы смогли вычислить и проверить миллиард паролей в секунду, вам понадобится 20,982,484,146
секунд для генерации всех возможных хэшей. Если вы начнете сейчас, вы закончите примерно через 665 лет.
Если вы можете использовать некоторую вычислительную мощность и генерировать триллион хэшей в секунду, это займет всего несколько с половиной лет. Хорошей новостью является то, что компьютерные хэши могут выполняться параллельно, поэтому легко использовать несколько машин. Плохая новость заключается в том, что вычислительная мощность не будет дешевой.
Чтобы ответить на ваши вопросы:
- Можно ли написать такой код? Можно написать программу, которая будет перебирать весь диапазон возможных паролей и проверять ее на хэш (ы), для которого вы хотите определить открытый текст.
- Если да, возможно ли запустить весь код менее чем за один день. Да, если вы можете вычислить и проверить около
10^15
хешей в секунду.
- Как и где я могу запросить этот код? Это наименьшая из ваших проблем.
К счастью, поскольку биткойн использует sha256, довольно легко найти грубые цифры по количеству вычислительной мощности, необходимой для генерации количества необходимых хэшей.
Если цифры в this article верны, то малина может генерировать 2*10^5
хешей в секунду. Я считаю, что более новая малина Pis более мощная, чем это, поэтому я собираюсь удвоить это до 4*10^5
. Вам нужно сгенерировать около 10^15
хешей в секунду, которые будут выполняться менее чем за день.
Вам понадобится 250,000,000
Малиновый пиз.
не пробуйте ломать satoshimines. – Keddy1201