제목 | 정말 초보자질문일것 같은데요 로그인 관련해서 문의 드립니다. | ||
---|---|---|---|
글쓴이 | 진공발차기 | 작성시각 | 2014/10/21 18:20:28 |
|
|||
제가 이번에 프로젝트를 하나 맡게 되었는데 코드이그나이터로 만들어져 있습니다. 그래서 나름 보고 있는데 다름이 아니라 로그인 쪽에서 문제가 발생을 했습니다. 값을 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
|
아싸리비아
/
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(); 성공하시길... |
제가 초보라서 제가 처한 상황이 빠져 있었나 보네요 ^^
일단 서버 이전을 생각한 이유는 기존 서버 호스팅 비용이 너무 단가가 높아서 호스팅 이전을 하려고 생각을 했습니다.
그런데 기존서버에서 패스워드를 md5한 상태에다가 $this->encrypt->encode() 를 해서 한번 더 암호화를 해서 DB에 저장을 하고 있습니다.
여기 질문 하기 전에는 이 부분에 대해서 신경을 못쓰고 있었기 때문에 쉽게 이전을 할 수 있을 꺼라고 생각을 해서 진행을 했는데 막상 뚜껑을 열어보니 이 문제가 발생을 했습니다. ^^
신규 서버에서는 mcrypt가 설치가 되어 있어서 XOR 인코딩 방식으로 되어 들어 있는 값을 XOR디코딩을 못해 패스워드를 MD5로 암호화 한 값과 비교를 하지 못하고 있습니다.
DB에는 MD5를 한 상태에 XOR 인코딩을 해서 들어가 있기 때문에요
때문에 입력한 값에 대해서 비교를 하는 것 자체가 조금 어렵게 되었습니다.
그래서 제가 문의 드리는 내용은 Mcrypt가 설치가 되어 있을 경우에도 mcrypt라이브러리가 아닌 XOR방식으로 인코딩 디코딩을 할수 있는 방법이 있는지를 문의를 드리려구요. ^^
나름 이번에는 풀어서 올리려고 올렸는데 이해가 되었는지 모르겠네요 ^^ 제가 너무 몰라서 사실상 질문 자체도 이상하게 올린거 일수도 있을수도 있어요 이부분 너그럽게 생각해 주세요 ㅜㅜ
만약에 진짜 방법이 없다면 기존 서버에서 해당 값을 전부 디코딩 해서 가져온 후 DB에 다시 업데이트 해야 하는 방법밖에는 없을꺼 같은데 그 방법도 쉽지는 않을 꺼 같아서요.