예전에 여러분들이 친숙했을... 암튼 그 곳에 있는 서버 안을 볼 일이 있어서 root 권한으로 여기저기를 뒤져봤었는데,
그 서버에는 연동 되는 장치들의 계정 목록이 저장되어있었고, 해당 계정에 대한 비밀번호가 base-64에 기반된 무언가로 (혹은 걍 base 64로, 소금치긴가 뭔가 안 되어 있었지 싶다) 인코딩되어 있었음.
물론 그 파일을 읽을 수 있는건 root계정 단 하나뿐이였지만, base 64 특성상 특정문자열에 대한 인코딩값은 동일했었고, 몇번의 시도 후에 다른 계정에 대한 비밀번호를 알 수 있었음.
실제로 접속되는 것까지 확인 했었고.
그 때는 공부 시작한지도 얼마 안 돼서 딱히 암호학이라거나, 해쉬함수 같은 걸 들어본 적도 없던 때라서, 걍 그렇겠거니, 하고 넘어갔었는데,
지금 생각해보면 좀 이상한듯. (프린인건 변함없지만)
실제로 비밀번호를 저런식으로 저장하기도 하나?
그 서버에는 연동 되는 장치들의 계정 목록이 저장되어있었고, 해당 계정에 대한 비밀번호가 base-64에 기반된 무언가로 (혹은 걍 base 64로, 소금치긴가 뭔가 안 되어 있었지 싶다) 인코딩되어 있었음.
물론 그 파일을 읽을 수 있는건 root계정 단 하나뿐이였지만, base 64 특성상 특정문자열에 대한 인코딩값은 동일했었고, 몇번의 시도 후에 다른 계정에 대한 비밀번호를 알 수 있었음.
실제로 접속되는 것까지 확인 했었고.
그 때는 공부 시작한지도 얼마 안 돼서 딱히 암호학이라거나, 해쉬함수 같은 걸 들어본 적도 없던 때라서, 걍 그렇겠거니, 하고 넘어갔었는데,
지금 생각해보면 좀 이상한듯. (프린인건 변함없지만)
실제로 비밀번호를 저런식으로 저장하기도 하나?
- dc official App
암호화가 아니라 해싱한걸거임
저기서 암호화를 풀어서 비번을 비교하는게 아니라 비번을 받으면 해싱해서 값이 같은지 비교하면 그나마 안전해서
ㅇㅇ.. 비밀번호를 평문으로 저장한게 아니고 해쉬값을 저장하는것 까진 알겠는데 보통 그럴때 어떤걸 많이 쓰는지 궁금해서.. 또 소금값은 뭘 쓰는거지 - ㄷㄷ
해쉬를 멀로 한건지가 궁금하신건가
뭘 볼수록 궁금한 것만 늘어나네-_- - ㄷㄷ
넵 - ㄷㄷ
암호화 된걸 복호화로 봐꺼 줘야 볼수 있잖아~!