블록체인에서 암호화 해싱으로 데이터를 식별한다고 하는데 암호화 해싱은 어떤 작업을 의미하는건가요?
블록체인에서 암호화 해싱으로 데이터를 식별한다고 하는데
이게 의미하는 바가 무엇일가요?
암호화 해싱은 어떤 작업을 의미하는건가요?
안녕하세요. 류쨩입니다.
해싱이란 어떠한 데이터로 동일한 길이의 결과값으로 바꿔주는 역할을 합니다.
위의 사진 처럼 어떤 문자열을 넣든, 결과값은 64자리의 16진수입니다.
(해시 함수에 따라 결과 값은 다를 수 있습니다. 위 사진은 SHA256 해시 함수를 사용했을 때 입니다.)
물론, 문자 뿐 아니라 사진 & 동영상 등의 어떠한 데이터도 해시 함수에 대입할 수 있습니다.
이렇게 해싱 된 해시 값은 복호화할 수 없습니다.
616E8B0800170711F78FE85565281CBCBA6CCC5F810A1A2F86D7D6FDA2960D30 라는 데이터로
'류기혁' 을 찾아내는 것은 불가능 하겠죠?
'그럼 도대체 이 함수를 왜 사용하는가?' 라고 생각하실 것 같습니다.
해싱은 데이터 검증을 하기 위해 사용합니다.
저의 a-ha 비밀번호가 '류기혁'일 경우
a-ha 데이터베이스에
류쨩 비밀번호 : '류기혁' 을 기록하는 것이 아닌,
류쨩 비밀번호 : '616E8B0800170711F78FE85565281CBCBA6CCC5F810A1A2F86D7D6FDA2960D30'
라고 기록하게 됩니다. 그렇게 되면 저를 제외한 어떠한 사람도 제 아이디의 비밀번호를 알고 있지 않죠.
그 대신, 제가 로그인 할때 '류기혁' 이라는 비밀번호를 입력하고, 다시 해싱하여
'616E8B0800170711F78FE85565281CBCBA6CCC5F810A1A2F86D7D6FDA2960D30' 를 아하 서버에 보냅니다.
그럼 아하 측에선 현재 접근한 사람이 저인 것을 알 수 있겠죠.
이렇게 데이터 검증을 할때 해싱을 사용하곤 합니다.