2011-06-11 53 views
58

我讀了一些有關md5的文檔,它說它的128位,但爲什麼它是32個字符?我無法計算字符。MD5是128位,但它爲什麼是32個字符?

  • 1字節爲8位
  • 如果1個字符爲1個字節
  • 然後128位是八分之一百二十八= 16字節正確?

編輯:

SHA-1產生160位,所以多少字符呢?

+0

你能發佈一個鏈接到你參考的文檔嗎? – 2011-06-11 17:06:15

+0

@don:對不起,我的講師筆記。但ba__friend已經回答了我的問題,我在這裏測試它:http://www.miraclesalad.com/webtools/md5.php,它的真正的十六進制字符,現在對我來說更有意義。我會將他的答案作爲最佳答案投票 – 2011-06-11 17:08:24

+0

我認爲我的答案比其他答案更詳細。 [如果你是計算機編程的新手,並且詢問這個問題並希望得到答案](http://stackoverflow.com/a/41618070/124486) – 2017-01-12 16:19:57

回答

80

32個字符作爲十六進制表示,即每字節2個字符。

+1

十六進制是從0 .. F? – 2011-06-11 17:05:03

+1

1個字節由兩位十六進制數字表示,如255 = ff。 – 2011-06-11 17:09:27

+0

所以1字節是2個字符,這意味着16位是2個字符,然後128/16 = 8。所以需要2個字符中的8個= 16個字符?爲什麼是32? – 2014-07-13 09:23:10

6

這是32個十六進制字符 - 1個十六進制字符是4位。

0

那些是十六進制數字,而不是字符。一位數= 4位。

0

它們實際上不是字符,它們是十六進制數字。

15

MD5產生十六進制數字(0-15/0-F),所以它們是四位。 128/4 = 32個字符。

SHA-1也產生十六進制數字(0-15/0-F),所以160/4 = 40個字符。

(因爲他們是數學運算,大多數散列函數輸出通常表示爲十六進制數字。)

你可能在想的ASCII文本字符,這是8位。

+0

非常感謝你..現在我腦中有更清晰的照片了! – 2011-06-11 17:22:18

+0

注意:ascii-charset包含不可打印的符號。 – Roylee 2016-09-13 16:13:35

+0

我試圖打破這一點更明確http://stackoverflow.com/a/41618070/124486 – 2017-01-12 16:22:56

22

我想將一些答案彙總到一篇文章中。

首先,不要將MD5散列視爲字符串,而應視爲十六進制數字。因此,每個數字都是十六進制數字(0-15或0-F),代表四位而不是八位。進一步考慮,一個字節或八個位由兩個十六進制數字表示,例如, b'1111 1111'= 0xFF = 255

MD5散列長度爲128位,通常由32個十六進制數字表示。

SHA-1散列長度爲160位,一般用40個十六進制數字表示。

對於SHA-2家族,我認爲散列長度可以是預先確定的集合之一。所以SHA-512可以用128個十六進制數字表示。

再一次,這篇文章只是基於以前的答案。

10

十六進制「字符」(半字節)是從「字符」

要論位VS字節清楚,VS字符不同。

  • 1字節爲8位(我們的目的)
  • 8位提供2**8可能的組合:256個組合

當你看一個十六進制字符,

  • [0-9] + [a-f]的16種組合:全系列0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
  • 16小於256,所以一個一個十六進制字符不是存儲一個字節。
  • 16是2**4:這意味着一個十六進制字符可以在一個字節(半個字節)中存儲4位。
  • 因此,兩個十六進制字符,可以存儲8位,2**8組合。
  • 表示爲十六進制字符的字節是[0-9a-f][0-9a-f],它表示一個字節的兩半(我們稱之爲半字節nibble)。其順序實際上取決於規格或平臺:0F可以代表0000111111110000

當你看一個常規字符,

  • 它可以存儲遠遠超過16種組合。
  • 字符的能力由編碼確定。例如,ISO 8859-1 that stores an entire byte, stores all this stuff
  • 所有這些東西都需要整個2**8範圍。
  • 如果md5()中的十六進制字符可以存儲所有這些內容,則會看到所有小寫字母,所有大寫字母,所有標點符號和諸如¡°ÀÐàð之類的東西,空格(新行和製表符)以及控制字符(你甚至不能看到,其中許多沒有被使用)。

所以他們明顯不同,我希望能提供最好的分歧。

相關問題