2

我已经在我的网络服务器上设置了一个 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 回答