'7z'에 해당되는 글 2건

  1. 2017.01.02 7z 사용법 -압축방법-
  2. 2015.12.05 7z 사용법 - CRC 및 CheckSum 명령어 -
 7z등 압축 프로그램을 사용해야되는 일이 생겼다.

 그래서 7zip을 사용하는 방법을 여기에 기록할려고 한다.

  7z을 설치하는 방법은 GUI와 그냥 7z-command, source build 등 다양한 방법이 있으다.(Windows에서는 GUI가 대부분이다.)

 GUI방식은 다음과 같다.

 http://www.7-zip.org/download.html에 들어가서 7zip을 다운 받는다.

 Download 7-zip에서 .exe과 .msi는 설치 프로그램으로 만들어진 파일들이다.

 



 여기서 7-zip for 32-bit혹은 64-bit에 맞춰서 설치하면, 실행이 된다.(OS가 64-bit인데, 32-bit 파일을 받아도 상관없으나. OS가 32-bit인데, 64-bit 파일을 받아서 사용하는 것은 문제가 되니 주의해서 다운 받길 바란다.)


 여기서 압축을 풀면 알아서 설치가 되는걸 알 수 있다.


 소스빌더는 방법이 다양해서 넘기도록 하겠다.(컴파일로 차근차근 컴파일해나가야 된다.)


 command 방식으로 압축할때는 다음과 같은 방법을 사용한다.


 7z a num.7z num


 여기서 7z의 명령어에서 a는 압축을 한다는 뜻으로 쓰인다.


 7z에서는 zip과 7z등을 지원해주는데, 이것을 압축 타입이라고 한다.


 -tzip 혹은 -t7z -tgzip 등을 이용하면, 다양한 종류로 압축이 된다. 만약, 이게 없다면, 기본적으로 파일의 확장자에 따라서 결정이 된다.


 압축을 풀때는 다음과 같이 사용한다.


 7z x num.7z


 여기서


 7z e num.7z을 사용할 경우. 디렉토리 상관 없이 파일이 풀리게 된다.(경로를 상관 없이 풀리게 된다.) 그래서 이름이 중복이 되는 경우에는 문제가 발생한다.


 7z x num.7z을 사용하면 경로에 맞춰서 파일이 풀리니 이것을 이용하면 된다.


 -scs가 있다. 이것은 파일 경로의 문자열을 뭘로 할 것인지 정하는 것이다.


 UTF-8으로 할것인지. 혹은 UTF-16등으로 저장할 것인지 나와있다.


 왠만해선 UTF-8로 저장하는게 유동성이 있을 것으로 보인다.

 


 

'연습' 카테고리의 다른 글

7z Command Line 암호 걸기  (0) 2017.01.04
PowerShell CD Eject/Close 설정하는 방법.  (0) 2017.01.03
CD-Rom eject(CD롬 열기 소스) 소스  (0) 2017.01.01
최신 코덱인 AV1 현황.  (0) 2016.12.24
powershell 비프음 발생시키기.  (0) 2016.11.15
Posted by JunkMam
,

 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
,