2012-12-24 33 views

回答

5

參考文件本身包含少量的示例的情況下,可以使用的。 (的​​散列是在所有的參考文件,例如。)另外,阿龍吉福德已經提供在http://www.adg.us/computers/sha.html若干測試用例。特別是,他對一些邊界情況進行了測試(文本正好是一個塊的長度,或者更少一些,還有一些其他特殊長度。如果您的實現爲所有這些計算了正確的值,那麼一個很好的機會,這是正確的。

+0

所以......只有「經驗法則」 – user1849534

+0

@ user1849534你不可能測試所有可能的輸入;?因爲日長度不受限制,案件數量將是無限的。你需要的是一組好的測試用例。在參考文檔和Aaron Gifford的網站之間,我總共有26個測試用例(但並非所有的哈希算法都適用)。如果測試用例覆蓋了通常的極限情況,那麼考慮到算法的性質,這應該足夠了。 –

+0

我們不會對所有可能的函數進行算術運算,我們對此進行了數學分析,我正在考慮類似的東西...... – user1849534

3

是的,這是事實。然而,一些散列算法帶有變化/設置,所以如果情況如此,您需要匹配那些散列算法。

一個很好的例子是MD5是經常考慮如何讓你驗證下載是正確的。爲了實現這一點,MD5哈希實現需要爲所有實現產生相同的結果。

+0

,什麼是測試平臺過程?... – user1849534

+0

,我不知道有任何。我將採取一個成熟的應用,使自己的測試集。當然,大多數編程語言已經有庫,可以使哈希爲您服務。 – Thirler

+1

只是採取設置有MD5和一些開源軟件的焦油球,並確保你得到相同的結果。如果沒有,你的代碼被打破了。一旦你能得到它對上一個pacakge,嘗試幾個MROE –