2011-03-06 41 views
1

すべてのユーザー名とパスワードを格納するxmlファイルがあります。私は認証のためにXMLファイルをチェックしたいと思います。しかし、私はxmlファイルを安全に保つ必要があります。私はどうすればいいのですか?PHPでxmlファイルを暗号化する方法

+0

私はxmlファイル自体を暗号化したいと思うのです。 – simplyblue

答えて

2

認証の目的でのみこれを使用している場合は、パスワード自体を保存するのではなく、パスワードの塩漬けハッシュを保存してください。その後、ユーザーが同じプロセスを実行した後に入力した値を比較します。

既存のHow to hash and salt passwords質問には、PHP固有のヒントがいくつかあります。

1

可能であれば、プレーンパスワードをXMLに保存しないでください。

より良い方法は、認証が同じアルゴリズムを使用して再度指定されたパスワードを持っていることを確認しているときにハッシュ値(例:SHA-1を使用)を保存し、それがあなたと同じハッシュ値XMLファイルに格納されています。

PHPでもこの目的のために関数sha1()が提供されています。

+0

パスワードはプレーンテキストで保存しないでください。平凡でシンプルな、それをしないでください!パスワードは常に何らかの方法で暗号化する必要があります。 base64でもプレーンテキストより優れています。 – FreeAsInBeer

+1

しかし、方法の意味、データの保存方法を理解していることを確認してください。データを難読化すると、「読み取り可能な」パスワードがなくなりますが、経験の浅い人だけが邪魔になります。実際の暗号アルゴリズムと実証済みの暗号アルゴリズムを使用するか、データをもう抽出できない方法で保存してください(FreeAsInBeerも示唆しているように、ハッシングなど)。場合によっては、パスワード自体を保存する以外の方法はありませんが、できるだけ攻撃者が平易なデータを回復することができるだけ難しいことを確かめてください。 – Kosi2801

1

XMLファイル全体を暗号化する代わりに、暗号化されたパスワードのハッシュを格納することを検討してください。このSO linkには、プロセスの理解を深めるのに役立つ素晴らしい説明とリンクが含まれています。