сохранение пароля в приложении cpp - PullRequest
0 голосов
/ 19 декабря 2018

Работает над приложением Qt на встроенном linux, которое требует хранения имени пользователя, пароля и секретной информации.

В настоящее время я использую QStringLiteral для хранения этой информации.Это безопасно сделать?Они не видны при запуске с strings бинарным.Какие доступны варианты / решения?

SqlCipher доступно, но опять же требуется пароль / ключ.Любые предложения

1 Ответ

0 голосов
/ 19 декабря 2018

Вы никогда не должны хранить пароли!Нет способа сделать это безопасно, ни в Qt, ни где-либо еще!

Я бы порекомендовал вам сгенерировать случайное число / соль, добавить пароль от пользователя и выполнить безопасный хэш для этих данных.Например, MD5 или, что еще лучше, SHA1 (спасибо Теду Люнгмо).Сохраните результат.Затем вы можете даже взять простой текстовый файл, поскольку из этих данных очень трудно получить обратно исходный пароль.

Если безопасность для вас не так уж велика, вы можете использовать что-то вроде:

QString result = QString(QCryptographicHash::hash((password+salt),QCryptographicHash::Md5).toHex());

и сохраните результат в QSettings.

...