CI 묻고 답하기

제목 mysql hex암호화 질문입니다.
글쓴이 돼지바뿅뿅 작성시각 2015/09/08 11:12:15
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 15498   RSS
비밀번호를 암호화해서 mysql디비에 넣으려는데요

$this->db->set('password' , "HEX(AES_ENCRYPT('1234', 'key'))", fasle);

이런식으로 단일행?으로 하면 잘 들어가는데

배열로 넣게 되면 입력이 잘되지 않습니다.

$array = array (
                      'id' => 'id',
                      'name' => 'name',
                      'tel' => 'tel',
                      'password' =>  'HEX(AES_ENCRYPT('1234', 'key'))'
                   );
이런식으로 하여 insert_batch를 사용하여 입력을하게 되면
디비에도  'HEX(AES_ENCRYPT('1234', 'key'))'이렇게 고대로들어가더군요..
첫번째의 경우는 정상적으로 암호화가 되서 들어가는데...

아직 CI 시작한지 한달도 안된 초보입니다. 
잘부탁드립니다 고수님들 
 다음글 _remap 함수로 함수 인자를 보낼 경우 처리 방법 ... (9)
 이전글 Medel insert 질문 (11)

댓글

한대승(불의회상) / 2015/09/08 12:34:58 / 추천 0
sql인젝션 방어를 위한 sql escape 처리방식때문에 생기는 에러 입니다.
아래 처럼 다른 값들은 배열로 처리 하시고 비밀번호만 set 으로 처리 하세요.
$this->db->set('password' , "HEX(AES_ENCRYPT('1234', 'key'))", fasle);
$array = array (
                      'id' => 'id',
                      'name' => 'name',
                      'tel' => 'tel',
                   );
돼지바뿅뿅 / 2015/09/08 13:04:20 / 추천 0
한대승 > 조언주신것처럼 비밀번호 부분만 따로 set으로 처리했습니다. ㅎㅎ
감사합니다^^