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]');
    }
}

我想知道如何像以前在程序上执行我的应用程序时那样实现 SHA 512 哈希,这次在 CODEIGNITER 中除外?

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

code igniter 有内置功能吗???或类似的东西?

4

1 回答 1

6

代码点火器是否有内置功能?

不,但既然 PHP 有 - 你不需要一个。

hash('sha512', $string);

没有比这更容易或更短的了。为什么要重写现有功能?

但是,对于 PHP 中的哈希密码,我建议使用 phpass:

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

于 2012-03-10T21:34:29.637 回答