天天看點

關于MD5的一些東西

恩恩……我不是要說王小雲。

我很奇怪.Net提供的MD5CryptoServiceProvider。

它的hash結果是16位位元組的……可是……可是……md3的标準不是32位的麼?有沒有生成32 bytes的.net hash庫呢?

然後,md5.ComputHash()的傳回值是Byte(),在轉換成為String的時候也是問題多多……

偶嘗試使用如下的代碼:

pass跟word都是byte()……從理論上來說,經過這樣的轉換後,他們的值應該是一樣的……但是……就是不一樣……

偶煩了一整天……

一步步跟蹤後,發現問題出現在GetString這個函數上……它莫名其妙的把參數給“閹割”了……byte本來應該是8bit的……但是,它硬是把它看成是7bit的……pass數組中所有大于127的成員都被它減去127,然後才儲存為相應的字元……

一開始,偶用的是System.Text.Encoding.ASCII.GetString,出現這樣的問題我很可以了解……因為ASCII characters本來就是7bit的……但是,UTF8是8 bit的啊!為什麼還是有同樣的問題??

抓狂了很久……

然後發現……将Encoding.UTF8.GetString改成Encoding.Unicode.GetString便一切順利……

同樣的……還有Encoding.Unicode.GetBytes

Encoding.UTF8跟Encoding.Unicode究竟有什麼差別呢?wondering……

第一次在部落格園發表東西……隻有這麼一點點東西跟大家分享……希望大家喜歡……

恩恩……如果有哪位高手能夠幫我分解一下下面的12個數字……或者,幫我生成一個md5 checksum為d024eac470132c7116d8ce8aa8409b8e 的檔案……小弟感激不盡……

呼呼……

真是不懂怎麼說……

偶的老師每個星期都給偶們一個challenge……上個星期讓我們分解12個由兩個質數相乘得出的和數:

1. 493

2. 256548911

3. 2399557933351623797

4. 210310495050718271668932997799

5. 5219254103003703248412332507126942904289

6. 34140838649750908282137081486336105530338286525339

7. 26120139124694484823073438881531527448842206694017879257399

8. 34113382106518403034089080670201226290000493673280463812207641540001

9. 19740251040767405574233389115508940970737495408555910993986136804039840322619

10.

426055778843715546911426241170028083801153110479514928372937805356899606068793017289031315

11. 3289007170346419389268432117474969098559951410750551704185508113661644 618795 57593438309755004771178529082663841211

12. 376913201530163994815348263715589013050380788944367849136239626758283441135193033330577085433896070716021436404900942549606745997

偶的CPU拼死拼活也才将1-5給分解出來……後面的7個……55555555……

這個星期又讓我們找md5碰撞……他給了一個檔案,md5 checksum是:d024eac470132c7116d8ce8aa8409b8e 

要我們找出另一個md5 checksum一樣或者類似的檔案……所謂類似,是說md5 hash出來的結果跟上面的有越多的連續相同的字元越好……位置也要一樣……比方說:

9f038cc6a7ec9baad98c9dfc1aa6e3b8便是有一個相同的……

9f038ac6a7ec9baad98c9dfc1aa6e3b8便是有兩個相同的……

能找到四個以上的便給獎勵……好像是一杯咖啡……恩……如果哪位大俠能夠幫到偶,偶就送他一個gmail賬号……從某種意義上說,gmail賬号跟咖啡是一樣的……

本文轉自 Wuvist 51CTO部落格,原文連結:http://blog.51cto.com/wuvist/847768

繼續閱讀