уже не помню точно, но принцип такой - храним в базе хеш пароля. когда надо провести проверку, той же функцией извлекаем хэш из того, что ввел пользователь, и сравшиваем два хэша. как-то так.
ну, тут по ситуации надо смотреть. если прога пишется на Qt, то желательно и использовать большинство функций из Qt, иначе самая главная фишка - переносимость - будет затруднена