・暗号化
ユーザがパスワードを入力
パスワードをハッシュ化して得たハッシュ値を暗号化キーとする
固定文字列Xを暗号化キーで暗号化しファイルAに保存
データを暗号化キーで暗号化しファイルBに保存

・復号
ユーザがパスワードを入力
パスワードをハッシュ化して得たハッシュ値を復号キーとする
ファイルAを読み込んで復号キーで復号を試みる
固定文字列Xに復号できなかったらパスワードは誤り
固定文字列Xに復号できたらファイルBを読み込んでデータを復号

ハッシュ関数と暗号化関数と固定文字列Xがばれても問題ない