2012-02-11 7 views
-1

すべてのSHA256ハッシュが同じ方法で計算されるかどうかは疑問でした。次のようにこのlibに入力を与えたように、別のSHA256ハッシュアルゴリズムを使って同じ出力をどのように再現できますか?同じタイプのすべてのハッシュコードアルゴリズムが同じ方法で計算されていますか?

lib1_gf_InitializeHashInput(); 
lib1_gf_AddIntegerToHashInput(a); 
lib1_gf_AddIntegerToHashInput(b); 
lib1_gf_AddIntegerToHashInput(c); 
lib1_gf_AddIntegerToHashInput(d); 
lib1_gf_AddIntegerToHashInput(e); 
lib1_gf_AddIntegerToHashInput(f); 
lib1_gf_AddIntegerToHashInput(g); 
lib1_gf_AddIntegerToHashInput(h); 
lib1_gf_AddIntegerToHashInput(i); 
string HASHCODE = lib1_gf_GenerateSHA256HashCode(); 

void lib1_gf_AddIntegerToHashInput (int lp_integer) { 
    lib1_gf_AddByteToHashInput(lp_integer); 
    lib1_gf_AddByteToHashInput(lp_integer >> 8); 
    lib1_gf_AddByteToHashInput(lp_integer >> 16); 
    lib1_gf_AddByteToHashInput(lp_integer >> 24); 
} 

void lib1_gf_AddByteToHashInput (byte lp_byte) { 
    HashInputData[HashInputSize] = lp_byte; 
    HashInputSize += 1; 
} 

ここlibにリンクがありますが(はい、それはSHA256と同様にMD5である):http://www.sc2mapster.com/assets/md5-hash/

直接ダウンロードリンク:http://www.sc2mapster.com/media/files/541/355/Hash_lib.SC2Lib

答えて

1

短い答えはイエスである - それはあまりにも短いです除いて、ありがとうございましたそう。 SHA256は、使用するインプリメンテーションに関係なく、常に同じ入力に対して同じ結果を提示する必要のある特定のアルゴリズムの仕様です。

+0

libを見てみると、どのように整数が追加されますか?私はこの言語ではなくC#でプログラムする。メインスレッドに必要なメソッドを追加します。 – JohnDoe

0

SHA256アルゴリズムは1です。

したがって、はい、SHA256ハッシュは常に同じ方法で計算されます。

SHA256(および他のSHA)ハッシュ生成アルゴリズムのソースコードはhereです。

関連する問題