Pythonでmd5やsha256などのハッシュ値を求める
Pythonで引数に入力された文字列のハッシュ値を求めるスクリプトを作成してみました。
hash.py
#!/usr/bin/python # -*- coding: utf-8 -*- import hashlib def calc_hash(string): u'''入力文字列のハッシュ値を求めて辞書型で出力する''' hash_dict = { 'md5': hashlib.md5(string).hexdigest(), 'sha1': hashlib.sha1(string).hexdigest(), 'sha224': hashlib.sha224(string).hexdigest(), 'sha256': hashlib.sha256(string).hexdigest(), 'sha384': hashlib.sha384(string).hexdigest(), 'sha512': hashlib.sha512(string).hexdigest(), } return hash_dict if __name__ == '__main__': import sys string = sys.argv[1] hash_dict = calc_hash(string) for key, value in hash_dict.items(): print '%s\t%s' % (key, value)
helloのハッシュ値を求めてみた結果。
$ python hash.py hello md5 5d41402abc4b2a76b9719d911017c592 sha1 aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d sha224 ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193 sha256 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 sha384 59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f sha512 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043