SHA-256爲給定輸入提供256位哈希碼。當我嘗試時,我得到了隨機輸入字符串的下面的哈希值 -如何計算SHA-256哈希大小
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
該散列有64個字符。因此,考慮常見的編碼,它的規模將是─
UTF-8 = 64 * 8 = 512位 UTF-16 = 64 * 16 = 1024bits
那麼怎麼來的其所謂的256位散列。我是否做了不正確的轉換?
SHA-256爲給定輸入提供256位哈希碼。當我嘗試時,我得到了隨機輸入字符串的下面的哈希值 -如何計算SHA-256哈希大小
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
該散列有64個字符。因此,考慮常見的編碼,它的規模將是─
UTF-8 = 64 * 8 = 512位 UTF-16 = 64 * 16 = 1024bits
那麼怎麼來的其所謂的256位散列。我是否做了不正確的轉換?
字符串2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824是一個十六進制編碼的字符串。它是以16位數字表示的字節,因此每2個字符代表一個字節。
所以2c是第一個字節,f2是第二個字節等等。由於字符串有64個字符,它代表32個字節。
和32字節= 256位
這是base16/hex表示,每個字節只有4(log2 16)位數據。
因此,sha256在這裏是4 * 64。沒有什麼是錯的。