Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
> В ходе реализации класса пришла идея сделать некий заголовок для зашифрованного файла и хранить так некоторые нужные вещи, например, хеш от пароля и соли, чтобы контролировать их правильность при открытии файла. Естественно, в любом случае, с неправильным паролем и солью нормально прочитать файл пользователь не сможет, но мы решили это проконтролировать в момент открытия файла, чтобы пользователь был уверен, если он открыл корректно зашифрованный файл, он будет работать в итоге с правильными исходными данными.
> Хранение любых magic number's которые расшифровываются и сравниваются — существенное снижение криптостойкости. Хорошее решение — хранения crc блока. Шифруется весь блок данных + crc. Для проверки происходит полная расшифровка предоставленным ключом, снятие crc и сравнение его. Если crc совпадают — ключ был верным.
Простая реализация шифрования и расшифровывания файлов в Qt