Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php将输入的密码与oracle中sys.user$中的密码进行比较_Php_Oracle_Oracle11g_Passwords - Fatal编程技术网

如何使用php将输入的密码与oracle中sys.user$中的密码进行比较

如何使用php将输入的密码与oracle中sys.user$中的密码进行比较,php,oracle,oracle11g,passwords,Php,Oracle,Oracle11g,Passwords,我有一个任务:创建一个web应用程序,允许用户以DBA身份访问Oracle数据库,并在该应用程序中创建一个新的DBA用户 我很困惑如何将输入的密码与sys.user$表中的password列进行比较。我不知道这里的加密类型是什么 public function login($data) { $this->db->select('*'); $this->db->from('SYS.USER$'); $this->

我有一个任务:创建一个web应用程序,允许用户以DBA身份访问Oracle数据库,并在该应用程序中创建一个新的DBA用户

我很困惑如何将输入的密码与sys.user$表中的password列进行比较。我不知道这里的加密类型是什么

    public function login($data) {

        $this->db->select('*');
        $this->db->from('SYS.USER$');
        $this->db->where('NAME', $data['username']);
        $this->db->where('PASSWORD', $data['password']);
        // How to fix correct line above

        $query = $this->db->get();

        if ($query->num_rows() > 0) {
            return true;
        } else {
            return false;
        }
    }
有人能帮我吗


谢谢你的时间

您不应该使用自己的登录功能,而应该使用PHP内置的
oci\u connect
。因为您只希望DBA连接,所以需要注意
session\u mode
(提示:
OCI\u SYSDBA
)。@APC,它似乎是公开记录的::基于PBKDF2的SHA512哈希算法。还有一些(可能不是官方的)更多信息:@WernfriedDomscheit-我所说的“散列算法”是指整个过程,而不仅仅是加密散列。Oracle不会发布所有步骤。然而,Trustwave的那篇文章非常有趣:我没有意识到加密密码中包含了salt。感谢您以DBA的身份登录基于web的应用程序是个坏主意,原因很明显。创建用户不需要成为DBA,只需要具有CREATEUSERSYSTEM权限。您应该寻找具有此特定权限的非DBA用户,但不是完全的DBA权限。@这是我所在大学的一项任务。我必须完成它的想法。你应该使用PHP内置的
oci\u connect
,而不是滚动你自己的登录功能。因为您只希望DBA连接,所以需要注意
session\u mode
(提示:
OCI\u SYSDBA
)。@APC,它似乎是公开记录的::基于PBKDF2的SHA512哈希算法。还有一些(可能不是官方的)更多信息:@WernfriedDomscheit-我所说的“散列算法”是指整个过程,而不仅仅是加密散列。Oracle不会发布所有步骤。然而,Trustwave的那篇文章非常有趣:我没有意识到加密密码中包含了salt。感谢您以DBA的身份登录基于web的应用程序是个坏主意,原因很明显。创建用户不需要成为DBA,只需要具有CREATEUSERSYSTEM权限。您应该寻找具有此特定权限的非DBA用户,但不是完全的DBA权限。@这是我所在大学的一项任务。我必须完成它的想法。