-1
ここでスクリプトで私はユーザー入力としてハッシュを取って、それがmd5かsha1かsha256かどうかを計算しています。しかし今、問題はすべてのハッシュを対応する他のハッシュに変換し、変数に格納します。md5の値を対応するSHA1とSHA256のpythonに変換しますか?
私はStackOverflowの答えからこのhashlibを試しました。
>>> import hashlib
>>> s = 'something to hash'
>>> sb = s.encode("utf8")
>>> hashlib.md5(sb)
<md5 HASH object @ 0x7f36f5ce3440>
>>> hashlib.md5(sb).hexdigest()
'6f4815fdf1f1fd3f36ac295bf39d26b4'
>>> hashlib.sha1(sb).hexdigest()
'72668bc961b0a78bfa1633f6141bcea69ca37468'
しかし、これはテキストが与えられたときに解決されますが、私の場合は直接ハッシュがこのように与えられます。
hash_value = sys.argv[1]
#print len(hash_value)
if len(hash_value) == 64:
type_of_hash = 'sha256'
elif len(hash_value) == 40:
type_of_hash = 'sha1'
elif len(hash_value) == 32:
type_of_hash = 'md5'
else:
print "Invalid Hash"
は今、私がやってみたかったすべては、私は他の形式にハッシュ値を変換する必要がSHA256入力されている与えられたと仮定し、対応する他の人にHASH_VALUEを変換しています。
これを解決する方法の提案はありますか?
「形式」と異なるわけではありません。まったく異なるハッシュ関数です。一般に、それらのいずれかを計算するために元のテキストが必要です。 –
それは確かに不可能ですが、好奇心の理由から、なぜあなたはこれを必要としますか? – bereal