簡體   English   中英

將密碼保存到Codeigniter中的數據庫

[英]Saving password to the database in codeigniter

我想問一下如何將用戶密碼保存到數據庫中? 我已經完成了,但是結果保存到數據庫與輸入的密碼不同。 和密碼變成了很長一段時間的奇怪代碼。 即使我一直在使用動作“ md5”。 請更正我的語法控制器出了什么問題。謝謝

function add(){
    $data['title']="Add user";
    $this->_set_rules();

    if($this->form_validation->run()==true){
        $kode=$this->input->post('username'); 
        $cek=$this->m_user->cek($kode); 
        if($cek->num_rows()>0){
            $data['message']="<div class='alert alert-danger'>Username is already in use/div>";
            $this->template->display('admin/adduser',$data);
        }else{

            $info=array(
                'name'=>$this->input->post('name'),
                'addres'=>$this->input->post('addres'),
                'dateofbirth'=>$this->input->post('dateof birth'),
                'email'=>$this->input->post('email'),
                'username'=>$this->input->post('user'),
                'password'=>md5($this->input->post('password')),
                'level'=>$this->input->post('level')

            );

            $this->m_user->save($info);
            redirect('admin/user/add_success');

        }
    }else{
        $data['message']="";
        $this->template->display('admin/adduser',$data);
    }
}

md5是一種哈希算法,可將您的密碼哈希為長度為32個字符的字符串。 該字符串是您輸入的密碼的哈希值。 例如,如果您的密碼是abcd,則md5(password)將是d41d8cd98f00b204e9800998ecf8427e。 刪除該md5()以查看您的密碼

如果將md5應用於通過表單發布收到的輸入,則意味着您希望以安全格式加密密碼。 md5()基本上應用加密來生成32個字符長的文本,該文本是安全的並且無法解密。

同樣,這是遵循此策略的良好實踐,但在將同一主題應用於您的需求和數據之前,您需要稍加小心。

另外,如果您不想應用此加密,則只需在post變量之前省略此方法:

 Before: 'password'=>md5($this->input->post('password')),//Gives encrypted 32 char long text
 After : 'password'=>($this->input->post('password'),    //Gives plain text

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM