我正在向sql數據庫發送一個加密密碼(在md5中)。不小心,我發送了一個md5加密到一個整數列。我輸入的密碼是「test」,在我的數據庫中它顯示爲「5」,然後我做了一個「qwertyqwerty」的密碼,它顯示爲「2147483647」出於好奇,任何人都可以向我解釋這是怎麼回事?爲什麼int值有很大的不同?將MD5密碼發送到INT的一個mysql字段
-1
A
回答
1
MD5不加密密碼,它將其散列。
哈希是一種單向函數,它接受給定的輸入並創建可預測的輸出(即給定的輸入總是具有相同的輸出),理想情況下甚至非常相似的輸入都會產生極大不同的輸出。
MD5哈希是128位。如果您嘗試將這些128位寫入32位SQL列,則肯定會發生一些截斷。
不理解您用於生成MD5的特定代碼,將其轉換爲整數,然後將其寫入SQL,但無法理解爲什麼在一種情況下您得到一個小數字,而在另一種情況下,您得到了簽名int的最大值。如果您想發佈代碼,我很樂意對此發表評論。
+0
這是無意的,從那時起解決了這個問題(我希望它在MD5中,不需要真正的加密),但感謝您的信息! – 2012-04-11 23:11:53
0
我不能說爲什麼第一個值顯示爲5(我必須看到散列),但是您的第二個值顯示爲它所做的,因爲這是整數列可容納的最大值。
當mysql將您的字符串MD5哈希轉換爲整數(或嘗試)時,它超出了整數可以容納的最大值,因此它保存了最大整數。
相關問題
- 1. 如何將wordpress mysql md5用戶密碼字段轉換爲另一個mysql表
- 2. 如何將生成的加密密碼從C#發送到MySQL
- 3. MySQL從md5密碼中截取字符
- 4. 如何在Coldfusion的mysql數據庫中使用md5加密密碼字段
- 5. 得到一個Monotouch.Dialog InputElement密碼字段
- 6. 使用MD5安全地將密碼從前端發送到後端
- 7. MD5密碼解密
- 8. 將md5加密的密碼轉換爲解密的密碼wordpress
- 9. 將數據從一個片段發送到另一個片段
- 10. 需要幫助...如何將md5添加到密碼字段在PHP中?
- 11. 以編程方式將密鑰發送到輸入字段?
- 12. 發送一個新密碼 - CakePHP 2.x
- 13. 將密碼的PHP代碼從MD5更改爲WordPress密碼
- 14. Python md5密碼值
- 15. 發送/設置網站密碼字段的值
- 16. 如何將一個int值從一個線程發送到另一個線程?
- 17. CakePHP 3身份驗證密碼字段與MD5
- 18. 添加一個方向發送加密字符python代碼
- 19. 如何將密碼字段的值傳遞給另一個類
- 20. Mysql INT與一個字符
- 21. 如何將Parse對象字段從一個類發送到另一個類?
- 22. 自動添加0到int字段 - mysql
- 23. 用另一個字段中的單個INT更新MySQL日期字段?
- 24. 將輸入(密碼)轉換爲MD5
- 25. 以md5格式保存md5密碼django?
- 26. 發送用戶名和密碼到另一個站點
- 27. 如何發送一個選擇字段
- 28. 變換器,發送一個字符串並返回一個INT
- 29. PHP:如何在用戶點擊忘記使用md5加密的密碼時向用戶發送原始密碼?
- 30. jQuery - 將多個URL發送到多個文本輸入字段
2147483647是SIGNED INT列的最大值。 – Interrobang 2012-04-11 23:04:55
爲什麼你會使用md5進行密碼散列? PBKDF2或bcrypt是標準選擇。 – CodesInChaos 2012-04-12 00:01:29