ios - OpenCart客户密码加密

标签 ios encryption md5 opencart

在我的 iOS 应用程序中,我试图允许用户使用 OpenCart 系统中已有的当前用户信息登录商店。如果我没理解错的话,密码是用MD5加密的。当我从应用程序加密密码时,它与数据库中存储的密码不匹配。关于为什么会这样有什么建议吗?以及关于如何解决它的任何建议?这是我第一次做这样的事情。

最佳答案

根据 OpenCart 的用户模型,密码加密比 MD5 更复杂一些:

public function addUser($data) {
    $this->db->query("INSERT INTO `" . DB_PREFIX . "user` SET username = '" . $this->db->escape($data['username']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', user_group_id = '" . (int)$data['user_group_id'] . "', status = '" . (int)$data['status'] . "', date_added = NOW()");
}

所以首先你像这样生成盐:

$salt = substr(md5(uniqid(rand(), true)), 0, 9);

然后你加密密码:

$password = sha1($salt . sha1($salt . sha1($data['password'])));

关于ios - OpenCart客户密码加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25042558/

相关文章:

image - 对通过在图像内容上运行MD5生成随机图像的唯一文件名有任何警告吗?

ios - Swift - 滚动时缩小导航栏

ios - 在 iOS 应用程序的后台设置提醒

security - 是否值得对数据库中的电子邮件地址进行加密?

security - 为什么建议公开加密算法?

C++ (win)OpenSSL MD5 崩溃

ruby - Ruby 1.9.3 中的摘要::MD5

ios - 如何获取对/更新一个自定义 UITableview 标题 View 的引用?

android - 如何将用户从移动应用程序重定向到移动网络浏览器?

android - 指纹触摸三星手机后出错 : android. security.KeyStoreException: Key user not authenticated