제목 | password_hash 비교연산 가능여부 | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 신일 | 작성시각 | 2019/10/18 14:04:35 |
|
|||
안녕하세요, 궁금한점이 있어 문의 드립니다. 혹시 아시는 분 계실까요?
password_hash로 암호화 된 것을 password_verify(a,b)로 a와 b를 비교해서 같으면 TRUE를 뱉는다는 것은 알겠는데요. 제가 필요한 것은 아래와 같은데 방법이 있을까요?
숫자를 password_hash로 암호화 했다는 가정하에 '암호화 된 값' >= '임의의 값' (비교해서 크거나 같거나) |
|||
다음글 | 변수 값을 배열로 돌려서 input에 값 넣기 (3) | ||
이전글 | 이미지 첨부가 포함된 수정 페이지에서... (7) | ||
변종원(웅파)
/
2019/10/18 14:51:00 /
추천
0
|
엽토군
/
2019/10/18 14:54:28 /
추천
0
안돼요. password_hash() 는 단방향 암호화를 합니다.
|
박쥐
/
2019/10/18 15:51:05 /
추천
0
해쉬된 값과 임의의 값이 숫자인가요? 일단 같다는 조건은 verify 함수로 알 수 있겠죠. 그렇다면 문제는 크다인데 가령 임의의 값이 X 이고 해쉬된 값이 Y 라고 할 때 해쉬된 임의의 값 H(X) 로 놓고 Y 값이랑 Verify 해서 같으면 같은 것이고 같지 않다면 H(X-1) 과 Y를 비교하여 Verify 해서 같으면 X는 Y보다 큰 것이고 또 같지 않다면 H(X-2) 과 Y를 비교하여 Verify 해서 같으면 X는 Y보다 큰 것이라고 볼 수 있겠네요. 정리해보면
임의의 X값을 해쉬하여 비교하고 같지 않다면 X값에 -n 값을 계속 반복하여 해쉬된 값과 비교한다.
그런데 왜 이렇게 해야 하죠? ㅎㅎㅎ 이유가 궁금하네요. |
위 상황은 복호화를 해서 비교를 하셔야합니다. 해시값을 비교하는게 아니라 암호화 된걸 풀어서 비교하셔야 합니다.
구글에서 php 암복호화 검색하시면 됩니다.