2

Web サーバーに zencart をセットアップしましたが、zencart に関連付けられた sql データベースで管理機能のパスワードが暗号化 (または何らかの方法で難読化) されています。この暗号化の範囲を教えてもらえますか? データベースを手に入れた誰かがデータベースのパスワードセクションのデータにアクセスできるかどうか、またはデータのその特定の部分が暗号化によって公開されないように保護されるかどうかを知りたい.

暗号化されている場合、どのように暗号化され、どれくらい簡単に復号化できますか?

デフォルトの禅カートのセットアップです。

敬具

4

2 に答える 2

2

ZenCart のパスワードは、salt + パスワード用に作成された MD5 ハッシュとして保存されます。SQL データベースに格納される形式は MD5Hash:Salt です。

ハッシュを作成する前にパスワードをソルトすると、ユーザー テーブルにアクセスできるユーザーがレインボー テーブルの助けを借りてパスワードをリバース エンジニアリングできなくなります。したがって、あなたは安全ですが、SHA-2 アルゴリズムを使用した方が良いかもしれません.

PHP を使用すると、次のコードでストレージ用のデータを作成できます。

$hashedPassword = md5($salt.$password).':'.$salt;

于 2012-04-22T18:58:54.277 に答える
1

ZenCart の新しいバージョンでは、SHA256 ハッシュ アルゴリズムとランダム ソルトが使用されています (ただし、何らかの理由で変数が「パスワード」と呼ばれています)。

function zen_encrypt_password_new($plain)
{
  $password = '';
  for($i = 0; $i < 40; $i ++) {
    $password .= zen_rand();
  }
  $salt = hash('sha256', $password);
  $password = hash('sha256', $salt . $plain) . ':' . $salt;
  return $password;
}

(バージョン 1.5.4 から - includes/functions/password_funcs.php)

于 2015-05-24T10:14:20.413 に答える