이건 mysql일지 php일지는 모르겠지만.
전에도 어느분이 올리셧지만.
mysql에 데이터를 암호화 할때,
select password('test');
select old_password('test');
이렇게 사용하는데,
이 방법보다는 md5() 를 추천합니다.
mysql
mysql>select md5('test');
php
<?= md5('test');?>
c
print("%2d", md5('test');
이 방법쓰면 어떠한 언어이던가에 int 32를 리턴 합니다.
댓글 13개
똥싼너구리
14년 전
md5는 복호화 가능하지 않나요?
14년 전
제가 알기론 아직 md5는 복호화 불가능합니다. 가끔 외국사이트 보시면 암호화 된거 입력받아서
복호화 해주는게 있는데 그건 DB에 암호화 된걸 넣어 놓고 매칭시켜서 결과값을 보여주는거라고
하더라구요,, 그래서 100% 복호화가 안됩니다,, 암튼 전 아직 안된다고 알고 있어요,,!!
복호화 해주는게 있는데 그건 DB에 암호화 된걸 넣어 놓고 매칭시켜서 결과값을 보여주는거라고
하더라구요,, 그래서 100% 복호화가 안됩니다,, 암튼 전 아직 안된다고 알고 있어요,,!!
똥싼너구리
14년 전
그렇군요 저도 한번 찾아봐야 겠습니다.
14년 전
http://www.mkexdev.net/Article/Content.aspx?parentCategoryID=3&categoryID=26&ID=371
어랏 이런글도 있어서 뚤려서 맞긴 맞나 본데요
md5(md5('test'+ 'abced'));
이런식으로 하면 되기는 하네요.
어랏 이런글도 있어서 뚤려서 맞긴 맞나 본데요
md5(md5('test'+ 'abced'));
이런식으로 하면 되기는 하네요.
똥싼너구리
14년 전
여기저기 뒤져봐도 다 사전식으로 한다네요..
결론은 복호화는 안된다고 생각이 듭니다 ㅋㅋ
앞으로 md5도 고려해 두어야 겠군요^^
결론은 복호화는 안된다고 생각이 듭니다 ㅋㅋ
앞으로 md5도 고려해 두어야 겠군요^^
14년 전
md5()는, 압축으로 치면 손실 압축이죠. 원본 복원이 안 되는......
똥싼너구리
14년 전
그렇군요^^
14년 전
엥 손실압축이라구요? 처음듣는 말입니다.
1:1 매칭이 되는데 손실압축이라니.....
1:1 매칭이 되는데 손실압축이라니.....
14년 전
hash() 함수는 m:1 매칭입니다.
14년 전
제가 헛배웠군요.. 허허
xkingcode
14년 전
손실되는게 맞고요 100% 복호화는 불가능합니다.
'int 32를 리턴' 하는 것이 아니라 32글자의 0-9a-f 를 return 하니까
string으로 저장하지 않고 hex binary로 저장하면 16바이트에 저장가능하죠.
(저는 그냥 string으로 저장해서 쓰는 편입니다만)
md5는 워낙 많이 쓰는 알고리즘이다 보니
자주쓰는 단어를 (Dictionary라고하죠) 미리 다 돌려놓고
결과값을 보고 원본을 찾아내는 경우가 많습니다.
위에 있는 md5 crack 링크들 다 그런 것이고요.
그래서 이를 방지하기 위해 앞뒤로 글자를 섞는 방법을 많이 쓰는데
( salt를 섞는 다라고 표현하기도 하고요)
function my_md5($str) {
return md5('이건사전에없겠지!@#!@#!@'.$str.'불안하니까뒤에도붙이나');
}
이런식으로 쓰면 dictionary로는 뚫을 수 없게 됩니다.
'int 32를 리턴' 하는 것이 아니라 32글자의 0-9a-f 를 return 하니까
string으로 저장하지 않고 hex binary로 저장하면 16바이트에 저장가능하죠.
(저는 그냥 string으로 저장해서 쓰는 편입니다만)
md5는 워낙 많이 쓰는 알고리즘이다 보니
자주쓰는 단어를 (Dictionary라고하죠) 미리 다 돌려놓고
결과값을 보고 원본을 찾아내는 경우가 많습니다.
위에 있는 md5 crack 링크들 다 그런 것이고요.
그래서 이를 방지하기 위해 앞뒤로 글자를 섞는 방법을 많이 쓰는데
( salt를 섞는 다라고 표현하기도 하고요)
function my_md5($str) {
return md5('이건사전에없겠지!@#!@#!@'.$str.'불안하니까뒤에도붙이나');
}
이런식으로 쓰면 dictionary로는 뚫을 수 없게 됩니다.
xkingcode
14년 전
이렇게 긴 salt 정도 섞어주면 별 문제는 없는데요
2005년에 중국에서요.
md5 HASH 충돌을 일으키는 방법에 대해 발표된 자료가 있고요.
두 개의 다른 데이터를 가지고 같은 md5 결과가 나오도록해서
hash 충돌에 대해서는 진척이 꽤 많이 되있는 걸로 알고있습니다.
md5 string을 보고 원본을 복호화가 가능하단 소리는 아니고요.
이런 링크들 보시면 좋을것같네요
http://www.links.org/?p=6
2005년에 중국에서요.
md5 HASH 충돌을 일으키는 방법에 대해 발표된 자료가 있고요.
두 개의 다른 데이터를 가지고 같은 md5 결과가 나오도록해서
hash 충돌에 대해서는 진척이 꽤 많이 되있는 걸로 알고있습니다.
md5 string을 보고 원본을 복호화가 가능하단 소리는 아니고요.
이런 링크들 보시면 좋을것같네요
http://www.links.org/?p=6
14년 전
ㅎㅎ
게시글 목록
| 번호 | 제목 |
|---|---|
| 8050 | |
| 8048 | |
| 19969 |
MySQL
mysql 상태를 확인 하는 방법
|
| 19968 |
MySQL
mysql 실시간 processlist
|
| 19967 | |
| 19966 | |
| 19965 |
MySQL
mysql 일반적인 최적화 팁
|
| 19964 |
기타
간단한 리눅스 명령어
|
| 19963 | |
| 19962 |
MySQL
mysql 데이터 경로 바꾸기
|
| 19961 |
MySQL
mysql 운영팁. 느린 쿼리를 발견하기
|
| 28345 | |
| 31017 | |
| 19960 | |
| 19959 |
MySQL
mysql index에 대해..
|
| 19958 |
MySQL
구분자는 enum으로
|
| 19957 |
MySQL
mysql zerofill에 대해
|
| 8039 | |
| 8035 | |
| 8029 | |
| 28344 | |
| 28339 | |
| 8019 | |
| 28338 | |
| 8017 | |
| 8010 | |
| 8007 | |
| 8004 | |
| 8003 | |
| 28332 | |
| 28322 | |
| 7999 | |
| 28317 | |
| 20956 | |
| 7992 | |
| 20945 | |
| 28314 | |
| 20936 | |
| 20931 | |
| 7986 | |
| 20925 | |
| 7982 | |
| 7979 | |
| 7978 | |
| 7975 | |
| 28307 | |
| 7973 | |
| 7966 | |
| 28305 | |
| 7963 | |
| 28300 | |
| 7961 | |
| 28297 | |
| 28295 | |
| 7959 | |
| 19948 | |
| 19947 | |
| 28292 | |
| 31016 | |
| 19946 | |
| 19945 | |
| 28286 | |
| 7958 | |
| 7956 | |
| 7952 | |
| 7946 | |
| 28285 | |
| 28283 | |
| 19943 | |
| 7944 | |
| 7936 | |
| 7931 | |
| 28279 | |
| 24666 | |
| 24663 | |
| 7928 | |
| 7923 | |
| 19941 |
MySQL
phpMyAdmin 시간 늘리기
1
|
| 28274 | |
| 28257 | |
| 28249 | |
| 28248 | |
| 7914 | |
| 7912 | |
| 7911 | |
| 20912 | |
| 7908 | |
| 31755 |
부트스트랩
부트스트랩 MIT 라이센스?
4
|
| 28233 | |
| 28232 | |
| 28228 | |
| 7903 | |
| 28217 | |
| 20900 | |
| 24662 | |
| 20891 | |
| 20882 | |
| 19936 | |
| 20853 | |
| 31011 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기