Я в своей одной проге хранил хеш пароля.
Тогда вводишь старый, он хешируется, сравнивается с тем, что есть, и если совпадает - то пишем новый.
Для хеша можно юзать стандартные вещи (MD5 например), а можно замутить какой-нить бред из серии
Код:
hash:=byte(s[1])^5+byte(s[2])^3-byte(s[3])^2-byte(s[4])^5...
где S - строка, a hash - int64.
"Чем бредовее будет ваш алгоритм, тем меньше шансов подобрать пароль и тем меньше будет в нем коллизий..."