7z에서 확인한 checksum을 다른데 가지고 와서 복사 이동 시켜야 되는 상황이 생겼다.


 그래서 명령어를 찾아보니 history에서 h라는 명령어를 사용하면 된다. 라고 나와있었다.

 하지만, 문제는 CRC32만 작동 되어서 문제가 되었다.


 그래서 찾아보니 다음과 같은 사이트에서 설명이 되어 있었다.


 7z h test.txt


 이렇게 사용할 경우 CRC32만 작동이 된다.


 하지만, -scrc{method} 이걸 이용하면, sha-1도 지원해준다.


 예을 들어서 다음과 같이 사용을 할 수 있게 된다.


 7z h -scrcsha256 test.txt


 이렇게 사용하면, sha-256이 지원이 된다.



 sha는 암호 해쉬 함수의 종류로 알고 있지만, 꼭 암호에만 사용되는게 아니다.


 해쉬 함수의 특징은 압축된 데이터로 중복/원본을 못하게/알게 사용하는 것이 목적이다.


 예을 들어서 "aasdlfkjaskrj14-0dflkjcxvlkjsadf123"이라는 데이터가 있고, 이걸 해쉬 함수를 돌린 결과가 "aswq"라고 하자.

 그러면, "aswq"라는게 "aasdlfkjaskrj14-0dflkjcxvlkjsadf123"이라는 것인지는 모르는 상태에선 "aswq"만으로는 알 수 없다.(암호는 "aswq"에서 "aasdlfkjaskrj14-0dflkjcxvlkjsadf123"가 나와야된다.[복호화])

 그리고 일정 크기(256byte 32byte등)로 줄이기 때문에 원문보다 작게 처리 할 수 있게 되기 때문에 사용되는 용량은 동일 하게 된다.


 문제는 크기가 고정되기 때문에, 중복의 문제점이 생긴다.


 예을 들어서 "aasdlfkjaskrj14-0dflkjcxvlkjsadf123"를 "aswq"로 만들어 냈는데,  "alwkdnwkalwkjaiweo1231laad"로도 "aswq"가 나오게 되면, 중복이 발생하게 된다.

 이 중복은 꼭 "aasdlfkjaskrj14-0dflkjcxvlkjsadf123"을 알 필요 없이 다른걸로 처리할 수 있다. 라는 뜻이 되며, 이것은 보안의 문제점이 생기게 된다.


 즉, 해쉬 = 암호. 라는 생각을 가지면 안된다.(암호만 사용하기엔 불안해서 사용하는 부분이라고 보는게 맞을 것이다.)


 필자는 "중복"(해쉬에선 충돌이라고 한다.)이 없다고 가정하여 데이터를 안전하게 저장되어 있는지 확인 할 때 쓸려고 하는 것이다.

Posted by JunkMam
,