Finally, you can Hodl BTC and guard against himself from selling
Позволяет блокировать, шифровать какие-то данные на N времени. Например, на 5 лет. Чтобы никто, даже ты сам не добрался до этой информации.
Не уверен, что до нее вообще не добраться, но лично для себя это подойдет, к примеру, чтобы захолдить крипто монеты на долгосрок.
Шифрует текстовой файл, записывает время момента, когда его зашифровал. И дает расшифровать только когда пройдет N времени (указывается при шифровании). Определение времени сделано на внешних API, чтобы не зависело от системного времени. Я добавил несколько API, чтобы в случае ошибки на одном, использовался другой.
Для начала disclaimer:
- В каждом релизе утилиты вшиты разные ключи шифрования, поэтому если ты зашифровал что-то, то должен расшифровывать той же версией утилиты. Рекомендую закидывать утилиту и зашифрованный файл на одну и ту же флешку (и можно еще 2 бекапа держать на еще 2 флешках);
- [опционально, но по концепции утилиты, не задумывается] На всякий пожарный, если шифруешь этой утилитой свой SEED ключ или приватники или что-либо еще очень важное... на всякий случай запиши куда-то это и в другом виде. И если шифруешь с целью не использовать данные какое-то время, то, скажем, запиши незашифрованный файл на флешку... и... сохрани где-либо, куда длительное время точно не будет доступа. Зачем? Чтобы, если что не так пойдет с утилитой или флешка с ней будет утеряна, то не терять последний экземпляр.
- Лицензия MIT, я как разработчик не несу ответственности за то что ты сделаешь со своими файлами этой утилитой.
Дальше:
- скачиваем билд из раздела релизов или собираем сами:
sh build.sh
что сгенерирует новый ключ шифрования, соберет утилиту, в которую он зашит и поместит бинарник в папку build
.
- Дальше запускаем утилиту через консоль, передавая ей параметры.
Не забыть закинуть в файл encrypt_this.txt
то что надо зашифровать.
Он запишется в encrypted.dat
. Когда происходит расшифровка, файл будет записан в decrypted.txt
.
Вот примеры:
./tool -type=year -duration=5
- зашифрует файл на 5 лет;./tool -mode=decrypt
- попытка расшифровки файла;
Если время расшифровки еще не пришло, то будет выдано сообщение в духе Таноса - "Моё время ещё не пришло". Иначе файл расшифруется.
Все флаги запуска:
mode
- encrypt, decrypt - какой алгоритм утилиты используем;type
- year, month, day, hour, minute, second - на какой период шифруем;duration
- значение для периода. Например, приtype=day
иduration=7
- файл будет зашифрован на 7 дней;
- перевести readme на английский?
- возможно, добавить обфускацию сгенерированного кода;
- добавить еще API источники?
Чтобы я делал больше крутых штуковин и развивал эту
- BTC: 1Q5jUk4e84fjvUWujUXg5DhR6PuQMnuVka
- LTC: ltc1qkf27renf2mffgjyngffvv3q2am5h0y4j785f5j
- ETH: 0x712ddd1CF17E4008DCac63022Ca2346ef786D807