2011-10-31 13 views
0

이전 프로젝트에서는 로그인 할 사용자 지정 암호화 기능을 만들었습니다. 어떻게 그것을 CI에서 사용할 수 있습니까? 여기에 내 코드CodeIgniter 사용자 지정 암호화 기능

function sha_password($username,$password){ 
$username = strtoupper($username); 
$password = strtoupper($password); 
return SHA1($username.':'.$password); 
} 

내가

$password = strtoupper(sha_password($username,$password));

그것을 CI에서 일할 내가 할 수있는 방법 비밀번호는 암호화 얻을 그렇게 불렀다? :?

답변

2

당신은 다양한 장소에 배치 할 수 있습니다 :

  1. 모델을 - 당신은 사용자, $ 사용자 -> getEncryptedPassword의 모델이있는 경우();

  2. 라이브러리 - 내 프로젝트에는 암호화 기능이있는 libuser가 있으므로 $ this-> libuser-> encrypt_password();

  3. 컨트롤러 (예를 들어 MY_Controller) - 함수를 만들고 $ this-하여 전화> encrypt_user_password (..)

  4. 그냥 설정에서 항상로드 될 파일 중 일부에 놓습니다 또는 뭔가를 변경하지 않으려면

  5. 이면 $ encpass = sha1 (strtoupper ($ username. ':'. $ password)); 나는 거기에 가지 않을 것이지만.

옵션 1과 2는 가장

+0

예 내가이 권장됩니다. 이 내 사용자 모델 ' DB-> 여기서 ('이름'$ this-> 입력 -> 포스트 ('이름')); \t \t $ this-> db-> 여기서 'sha_pass_hash', $ this-> input-> post ('password')); \t \t $ query = $ this-> db-> get ('account'); \t \t if ($ query-> num_rows == 1) { \t \t \t return TRUE; \t \t} } 'sha_password 함수를 사용하는 법을 모르겠습니다. 오즈는 CI에서 초보자입니다. 귀하의 답변을 – pico

+0

주셔서 감사합니다 sha_password() 메서드를 호출하려면 Membership_model ($ m-> sha_password())의 인스턴스가 필요하거나이 메서드를 정적으로 만들 수 있습니다 (Membership_model :: sha_password()).그 중 하나, 또는이 함수를 사용하여 라이브러리를 만들 때 – galchen

+0

내가 그런 undifined 함수 'function validate() {fatal error call}을 호출했을 때 { \t \t $ this-> db-> where ('username ', $ this- > 입력 -> 게시물 ('사용자 이름')); \t \t $ this-> db-> 여기서 'sha_pass_hash', sha_password ($ this-> input-> post ('password'))); \t \t $ query = $ this-> db-> get ('account'); \t \t if ($ query-> num_rows == 1) { \t \t \t return TRUE; \t \t} \t} '어떻게 사용할 수 있습니까? – pico

관련 문제