Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- data
- 앱바
- Button
- 계측
- 안드로이드
- android
- TEST
- Coroutines
- DART
- binding
- Kotlin
- Compose
- appbar
- livedata
- textfield
- activity
- LifeCycle
- Navigation
- Dialog
- intent
- Flutter
- tabbar
- 테스트
- viewmodel
- scroll
- CustomScrollView
- drift
- textview
- ScrollView
- 앱
Archives
- Today
- Total
Study Record
[암호 프로그래밍] 해시 함수 관련 프로그램 본문
728x90
파일에 대한 해시값을 출력해주는 프로그램
사용법 : checkHash.py <filename>
ex ) # checkHash.py /python/des.sh
# vi checkHash.py
#!/usr/bin/python3
import sys
import os
import subprocess
def main():
if len(sys.argv) < 2:
print("Usage: " + sys.argv[0] + " <filename>")
sys.exit(1)
cmdList = ['md5sum', 'shasum', 'sha1sum',
'sha224sum', 'sha256sum', 'sha384sum', 'sha512sum']
for n in range(1, len(sys.argv)):
fileName = sys.argv[n]
if os.path.exists(fileName):
print("=" * 40)
print(fileName, "'s hash values result")
for cmd in cmdList:
cmdText = cmd + " " + fileName + " | awk '{print $1}'"
output = subprocess.check_output(cmdText, shell=True).decode('ascii').rstrip()
print("%s : %s" % (cmd, output))
else:
print(fileName, "is not exits")
print("=" * 40)
if __name__ == '__main__':
main()
파일과 해시값을 인자값으로 파일의 해시값이 어떤 해시 알고리즘을 사용했는지 알려주는 프로그램
사용법 : checkHash2.py <filename> <hash value>
ex ) # checkHash2.py /python/des.sh 605461cff3ae2829914f10174871eefac16b7602
# vi checkHash2.py
#!/usr/bin/python3
import sys
import os
import subprocess
def compareHashValue(fileName, hashValue):
cmdList = [['md5sum', 'MD5'], ['sha1sum', 'SHA1'],
['sha224sum', 'SHA224'], ['sha256sum', 'SHA256'],
['sha384sum', 'SHA384'], ['sha512sum', 'SHA512']]
for cmd, algorithm in cmdList:
if os.path.exists(fileName):
cmdText = cmd + " " + fileName + " | awk '{print $1}'"
output = subprocess.check_output(cmdText, shell=True).decode('ascii')[:-1]
if hashValue == output:
print(algorithm, "Hash Algorithm")
return
else:
print(fileName, "is not exits")
print("Error: Unknown Hash Algorithm")
def main():
if len(sys.argv) < 3:
print("Usage: " + sys.argv[0] + " <file name> <Hash Value>")
sys.exit(1)
file = sys.argv[1]
hashValue = sys.argv[2]
compareHashValue(file, hashValue)
if __name__ == '__main__':
main()
728x90
'암호 > 프로그래밍' 카테고리의 다른 글
[암호 프로그래밍] 하이브리드 암호 프로그램 (0) | 2021.12.10 |
---|---|
[암호 프로그래밍] 해시 함수 사용하기 (0) | 2021.12.10 |
[암호 프로그래밍] RSA를 이용한 암/복호화 , 서명 (0) | 2021.12.08 |
[암호 프로그래밍] 인코딩/디코딩 프로그램 (0) | 2021.12.07 |
[암호 프로그래밍] AES 암호화/복호화 프로그램 (0) | 2021.12.03 |