리눅스
리눅스는 명령어 사용이 간단함.
현재 디렉터리에서 해시 추출하고 싶은 경우
$ md5sum ./*
$ sha256sum ./*
본인이 사용하고자 하는 알고리즘에 맞춰서 사용하면 됨.
만약에 현재 디렉터리 파일 외에 하위 디렉터리에 있는 파일을 전부 추출하고 싶은 경우
$ find . -name "*" -exec md5sum {} \;
$ find . -name "*" -exec sha256sum {} \;
디렉터리를 제외한 파일들의 경우에는 전부 해시값이 콘솔창에 기록되는 것을 확인할 수 있음.
위 명령어를 해보다보면 15만개가 넘어가면 점점 추출속도가 극악이 됨
멀티코어로 나눠서 하고 싶으면 다음과 같이 명령어를 사용하면 됨.
아래는 현재디렉터리의 파일들을 전부 훑어서 하위 디렉터리의 'data.sha256sum.list'에 저장하는 스크립트임.
$ find . -name "*" -type f -print0 | xargs -0r -n 1 -P 0 openssl dgst -sha256 > ../data.sha256sum.list
윈도우
윈도우 운영체제에서 해시값을 추출하는 방법은 다음과 같음.
PowerShell을 켠 후 아래 명령어를 사용하면 됨.
1. 파일 1개 hash 추출
c:\> certutil -hashfile "파일명" MD5
위 방법은 파일 1개에 대해서만 추출이 가능하다는 한계가 있다.
만약 여러개 파일(디렉터이에 있는 파일)에 대해서,
추출하고자 한다면 다음 명령어를 쓰는것을 추천 함.
2. 파일 여러개 hash 추출
c:\> Get-FileHash -Algorithm MD5 -Path (Get-ChildItem "*" -Recurse)
검색해봤을때 위 명령어 조합이 제일 간단한것 같음.
타이핑 해봤을때 따로 powershell script 파일을 만들지 않고 타이핑 하면 확인할 수 있어 제일 괜찮은 것으로 보임.
만약에 filepath가 너무 길어서 잘리는것이 싫다면,
다음을 추가해서 주면 더 유용함.
3. (하위 디렉터리 포함) 파일 여러개 + path 잘리지 않도록 hash 추출
c:\> Get-FileHash -Algorithm MD5 -Path (Get-ChildItem "*" -Recurse) | export-csv -encoding utf8 -Path "list.csv"
c:\> Get-FileHash -Algorithm SHA256 -Path (Get-ChildItem "*" -Recurse) | export-csv -encoding utf8 -Path "list.csv"
뒤에 export-csv 명령어를 사용하여 csv 파일을 추출할 수 있음. (인코딩은 한글 디렉터리가 있을경우를 대신해 utf8을 추천 함)
알고리즘 선택에 따라서 MD5, SHA256 선택해서 추출 할 수 있음. (이 외에 다른 알고리즘도 다수 존재 함)
혹시 위 명령어가 돌아가지 않으면, 아래처럼 사용하면 됨.
c:\> Get-ChildItem "*" -Recurse | Get-FileHash -Algorithm MD5 | export-csv -encoding utf8 -Path "list.csv"
c:\> Get-ChildItem "*" -Recurse | Get-FileHash -Algorithm SHA256 | export-csv -encoding utf8 -Path "list.csv"
4. MD5 대신 다른 알고리즘 사용 hash 추출
c:\> certutil -hashfile "파일명" SHA256
MD5 대신에 다른 알고리즘 이름을 사용하면 됨.
위 스크립트의 경우에는 SHA256으로 적용함.
'컴퓨터 이야기' 카테고리의 다른 글
키보드 체크/테스트 사이트 추천 (동시입력, 무한입력 포함) (15) | 2022.04.07 |
---|---|
Windows 10 Enterprise 최신버전 다운로드 방법 (0) | 2021.06.26 |
[openstack] instance(vm) flavor(사양, spec) 변경하는 방법 (0) | 2021.05.03 |
Windows - Cortana(코타나) 삭제방법 (0) | 2021.04.20 |
Jupyter 실행 방법 (0) | 2020.11.18 |
댓글