![Vim: Восстановление зашифрованного файла](https://rvso.com/image/1264376/Vim%3A%20%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B7%D0%B0%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0.png)
На самом деле, я зашифровал файл с помощью опции vim -X. К сожалению, я забыл ключ шифрования. Есть ли способ вернуть файл без повреждения данных, не зная ключа.
Спасибо.
решение1
Нет, конечно нет. Это было бы не очень хорошее шифрование, если бы был бэкдор, позволяющий получить открытый текст без ключа.
Всегда можно прибегнуть к методу грубой силы, но если ключ очень длинный, то его перебор может оказаться слишком долгим и бесполезным.
решение2
Короткий ответ: Нет, это невозможно. (Как уже упоминали другие.) См. « :help encryption
» и примите во внимание предупреждения.
Развернутый ответ: Vim может опционально использовать два метода шифрования:
- Оригинал — и по умолчанию — считается слабым и потенциально «сломанным», основан на схеме шифрования zip. Предположительно существуют программы взлома шифрования zip, но мне ни разу не удалось заставить их работать, и они определенно не будут работать с зашифрованными файлами Vim без изменений.
- Новая схема шифрования, представленная в версии 7.3, называется Blowfish. Вам пришлось бы выжечь не только солнце, чтобы получить мощность, необходимую для подбора этого ключа, что — если предположить, что не было ошибки в реализации этого метода в Vim или в алгоритме Blowfish нет основного недостатка — вероятно, является единственным способом получить доступ к файлу.
Видеть " :help 'cryptmethod'
"
Я также повторю то, что уже говорили здесь другие: шифрование было бы бесполезным, если бы его можно было так легко взломать.
Я предлагаю вам всегда записывать свои пароли в надежном месте; установите надежное приложение для защиты паролей, например KeePass.
решение3
Это невозможно. Хотя Vim просто использует стандартные алгоритмы (AES, я полагаю) для шифрования/дешифрования файлов, неважно, какую программу или библиотеку вы используете, вы не сможете расшифровать их без ключа. Такие алгоритмы работают не потому, что их невозможно взломать, а потому, что их перебор занимает безумно много времени (тысячи лет при современных вычислительных возможностях).
решение4
Если вы недавно редактировали файл (когда вы в последний раз помнили пароль), проверьте папку temp, там должен быть файл с содержимым. Он будет иметь тильду в конце имени файла.