2017-08-31 7 views
-1

私はOpencartのウェブサイトを維持しています。今、oc_customersテーブルを更新します。変更したい既存のOpencartデータベースのパスワード形式

既存の顧客のパスワード(md5 + salt)を単純なパスワード形式に変換したいと考えています。

あまりにも複雑なフォーマットを使用したくないです。私は、単にbase64_encode($ testPassword)のようにパスワードを維持したいと思います。新しい顧客には問題はありません。

しかし、既存のお客様のために、md5 + salt - > normal - > base64_encodeの変更方法はわかりません。

+1

私たちにいくつかのコードを見せてください、何を試しましたか?これらの試みはどのように失敗しましたか? – Chiperific

+0

あまりにも複雑なフォーマットを使いたくないです。私は維持したいと思います パスワードは単にbase64_encode($ testPassword)のようになります。 新規顧客については、pblmはありません。しかし、既存のお客様には、0​​md5 + salt - > normal-> base64_encodeの変更方法がわかりません。 – Ived

+0

パスワードフォーマット(md5 + salt)の維持は、md5 + salt - > normal-> base64_encodeのような変換よりも簡単です。 – Ived

答えて

0

初心者の方には、パスワードの保存は重要な作業であり、パスワードの保存時には非常に標準的な操作なので、これは悪い考えです。悪意のある第三者がデータベースにアクセスした場合にユーザーを保護します。攻撃が発生した場合、攻撃者はパスワードを個別に強制的に強制しなければならず、攻撃が遅くなり、攻撃者があらかじめ計算されたレインボーテーブルを使用することができなくなります。

本当にこれを行うには、両方の認証方法をサポートし、各顧客が使用している方法を示すフラグを追加する必要があります。古いメソッドを使用している顧客からログインできたら、新しい形式で記録できる正しいプレーンテキストパスワードへのアクセス。塩析では、攻撃者が元のパスワードを推測することは難しく、同じ理由でパスワードを知らずに新しい形式に変換することは困難です。塩害は、ウェブサイトの所有者が実際のパスワードが何であるかを知ることを妨げる。これは望ましい特徴である。

最後に、base64を使用することは、パスワードをプレーンテキストとして保存することと実質的に同じです。誰でもbase64_encodeの文字列をデコードするだけで済みます。ハッシュ関数は、base64のようにそれらを元に戻すことはできませんが、多くのハッシュを事前に計算できるという問題があります。それで、あなたは塩漬けを使いたいのです。

関連する問題