CI 묻고 답하기

제목 정말 초보자질문일것 같은데요 로그인 관련해서 문의 드립니다.
글쓴이 진공발차기 작성시각 2014/10/21 18:20:28
댓글 : 17 추천 : 0 스크랩 : 0 조회수 : 14874   RSS
제가 이번에 프로젝트를 하나 맡게 되었는데 코드이그나이터로 만들어져 있습니다.
그래서 나름 보고 있는데
다름이 아니라 로그인 쪽에서 문제가 발생을 했습니다.

값을 1111을 넣고 전송을 했을 경우

array('field'=>'mb_password', 'label'=>'비밀번호', 'rules'=>'trim|required|md5')
을 통해서 $this->input->post('mb_password');
했을 경우엔 값이 : b59c67bf196a4758191e42f76670ceba 즉 md5(1111) 한 값이 나옵니다.

그런데 중요한거는

$this->load->library('encrypt');
$this->encrypt->decode($mb['mb_password'])
했을 경우에는 값이 a���3|�J=M��nd�3Qb=����Gfܭ:  이렇게 알수 없는 값이 들어가고 있습니다.

그래서 Encrypt.php 파일이 혹시 UTF-8이 아닌가 싶어서 해당 파일도 확인해서 UTF-8로 바꾸었는데도 역시나 값이 그렇게 들어가고 있습니다.

이럴 경우에는 어떤 부분을 보아야 하나요?
 다음글 foreach문.. 라디오버튼 피드백좀 부탁드립니다 꾸... (6)
 이전글 $this->load->library() 인... (3)

댓글

진공발차기 / 2014/10/22 14:00:10 / 추천 0
들국화 //
제가 초보라서 제가 처한 상황이 빠져 있었나 보네요 ^^
일단 서버 이전을 생각한 이유는 기존 서버 호스팅 비용이 너무 단가가 높아서 호스팅 이전을 하려고 생각을 했습니다.
그런데 기존서버에서 패스워드를 md5한 상태에다가 $this->encrypt->encode() 를 해서 한번 더 암호화를 해서 DB에 저장을 하고 있습니다.
여기 질문 하기 전에는 이 부분에 대해서 신경을 못쓰고 있었기 때문에 쉽게 이전을 할 수 있을 꺼라고 생각을 해서 진행을 했는데 막상 뚜껑을 열어보니 이 문제가 발생을 했습니다. ^^

신규 서버에서는 mcrypt가 설치가 되어 있어서 XOR 인코딩 방식으로 되어 들어 있는 값을 XOR디코딩을 못해 패스워드를 MD5로 암호화 한 값과 비교를 하지 못하고 있습니다.
DB에는 MD5를 한 상태에 XOR 인코딩을 해서 들어가 있기 때문에요

때문에 입력한 값에 대해서 비교를 하는 것 자체가 조금 어렵게 되었습니다.

그래서 제가 문의 드리는 내용은 Mcrypt가 설치가 되어 있을 경우에도 mcrypt라이브러리가 아닌 XOR방식으로 인코딩 디코딩을 할수 있는 방법이 있는지를 문의를 드리려구요. ^^

나름 이번에는 풀어서 올리려고 올렸는데 이해가 되었는지 모르겠네요 ^^ 제가 너무 몰라서 사실상 질문 자체도 이상하게 올린거 일수도 있을수도 있어요 이부분 너그럽게 생각해 주세요 ㅜㅜ
만약에 진짜 방법이 없다면 기존 서버에서 해당 값을 전부 디코딩 해서 가져온 후 DB에 다시 업데이트 해야 하는 방법밖에는 없을꺼 같은데 그 방법도 쉽지는 않을 꺼 같아서요.
아싸리비아 / 2014/10/22 15:27:46 / 추천 1

http://codeigniter-kr.org/user_guide_2.1.0/libraries/encryption.html

$this->encrypt->set_cipher();
$this->encrypt->set_mode();

성공하시길...