달콤
[PHP] restful처리 + 암호화 본문
공모전 서버개발 중 안드로이드 단에서 내 쪽 서버로 POST방식으로 값을 전달한다는 내용을 들었다.
간단한 회원가입 폼이지만 우선 순서는 이렇게 된다.
Client
안드로이드 -> POST('user', 'password', 'nickname')
Server
PHP POST로 받음 -> DB -> result JSON으로 echo('regist_res')
받는건 한결같이 참 쉽다
1 2 3 | $user = $_POST['user']; $password = $_POST['password']; $nick_name = $_POST['nick_name']; | cs |
그다음 DB에서 ID, PW중복을 확인한다.
1 2 3 4 5 6 7 8 9 10 11 | <?php $sql = "SELECT * FROM `users` WHERE `u_id` = '".$user."'"; if($result){ while($row = mysqli_fetch_assoc($result)){ if(isset($row['u_id']) && $row['u_id'] != ''){ echo json_encode(['regist_res' => 2]); exit; } } } ?> | cs |
여기까지는 그냥 아는 내용이었는데 DB에 암호화 해서 넣는방식은 처음 알아서 ... ㅋㅋㅋ 신기했다.
sha1이나 md5이런식으로 그냥 함수를 제공하더라. 생각보다 쉬운작업이었다.
원래 한번알아봐야지!하고 어렵겠지.. 하고 손놓고있었는데 이런 쉬운 방법일줄이야...
1 2 3 | <?php $password = sha1("?????".$password); ?> | cs |
참고로 저렇게 앞에 ?????를 붙이는건 솔트(소금치기)작업이라고 한다.
나중에 확인작업할때 저거 붙이고 복호화된거랑 비교하는 걸 까먹지말자.
'2018 08 개발일지' 카테고리의 다른 글
[PHP] 간단한거 몇 개(시간대지정, 문자셋지정, 이전페이지) (0) | 2018.08.17 |
---|---|
[CSS] CSS 어려웠던 점 + 해결 (말줄임 + div 가운데 정렬) (0) | 2018.08.16 |
[PHP] AJAX처리에서 겪은 어려움 + 해결 + 남아있는것 (0) | 2018.08.14 |
[PHP] CRUD 중간점검 (0) | 2018.08.11 |
Comments