2

私はコントローラーを持っています:landingpage.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class LandingPage extends CI_Controller {

    public function index(){
          $data = array(
            'head' => $this->load->view('Landing_Header', '', true),
            'guts' => $this->load->view('Landing_Guts', '', true),
            'foot' => $this->load->view('Landing_Footer', '', true)
          );
          $this->load->view('index', $data);
    }

    public function validateInput(){
        #load help libraries for use
        $this->load->helper("form");
        $this->load->helper("form_validation");

        /////////////////////////////////////////////////////////////////
        /////////////////////// New User Validation /////////////////////
        /////////////////////// Format for Validation :  ////////////////
        ////////// "field name","Error Value","validation method" ///////
        $this->form_validation->set_rules('fullname','Your Name','required|min_length[2]|max_length[20]');
        $this->form_validation->set_rules('email','Your Email','required|valid_email|is_unique[users.email]');
        $this->form_validation->set_rules('emailConf','Email Confirm','required|matches[email]');
        $this->form_validation->set_rules('password','Password','required|min_length[2]|max_length[20]');
    }
}

今回はCODEIGNITERを除いて、手続き的にアプリを実行していたときのように、SHA 512ハッシュをどのように実装できるのだろうか??

isset($_POST['password'])
$dynamSalt = mt_rand(20,100); 
$userPassword = hash('sha512',$dynamSalt.$userPassword);

コードイグナイターにはこのための組み込み関数がありますか??? または似たようなものですか?

4

1 に答える 1

6

コードイグナイターにはこのための組み込み関数がありますか?

いいえ。ただし、PHPにはあるので、必要ありません。

hash('sha512', $string);

それよりもはるかに簡単または短くなることはできません。なぜ既存の機能を書き直すのですか?

ただし、PHPでパスワードをハッシュする場合は、phpassをお勧めします。

http://www.openwall.com/phpass/

于 2012-03-10T21:34:29.637 に答える