md5資料庫
1. md5加密後怎麼存入資料庫
2009-03-25 11:58MySQL 1366錯誤大致描述如下
SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" at row 1
解決辦法:檢查資料庫此欄位的字元集與整理字元集是否與SQL語句傳遞數據的字元集相同;不相同則會引發MySQL1366錯誤。
修改MySQL該欄位的字元集與整理規則即可。假設數據表為phplamp, SQL語句的字元集為utf8,出錯的欄位為address:
MySQL 1366 錯誤解決辦法
#檢查數據表所有欄位的狀態
->show full columns from phplamp;
#發現address欄位的Collation項非utf8,修改它!
->alter table phplamp change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
修改完欄位的字元集後可以再使用show full columns from table_name命令檢查一下,以確保萬無一失。假如您的SQL字元集為GBK或是GB2312或是其它的話,只需要將數據表欄位的字元集更改為其相應的編碼即可。
再送上一個MySQL的命令:
修改數據表的字元集與整理
->show full columns from table_name;
2. md5加密以後怎麼查看資料庫密碼
MD5還廣泛用於操作系統的登陸認證上,如Unix、各類BSD系統登錄密碼、數字簽名等諸多方面。如在Unix系統中用戶的密碼是以MD5(或其它類似的演算法)經Hash運算後存儲在文件系統中。當用戶登錄的時候,系統把用戶輸入的密碼進行MD5
Hash運算,然後再去和保存在文件系統中的MD5值進行比較,進而確定輸入的密碼是否正確。通過這樣的步驟,系統在並不知道用戶密碼的明碼的情況下就可以確定用戶登錄系統的合法性。這可以避免用戶的密碼被具有系統管理員許可權的用戶知道。MD5將任意長度的「位元組串」映射為一個128bit的大整數,並且是通過該128bit反推原始字元串是困難的,換句話說就是,即使你看到源程序和演算法描述,也無法將一個MD5的值變換回原始的字元串,從數學原理上說,是因為原始的字元串有無窮多個,這有點象不存在反函數的數學函數。所以,要遇到了md5密碼的問題,比較好的辦法是:你可以用這個系統中的md5()函數重新設一個密碼,如admin,把生成的一串密碼的Hash值覆蓋原來的Hash值就行了。
3. 資料庫存儲md5密碼,怎麼取
不知道樓主想具體實現什麼功能額。。。不過可以肯定的是,密碼經過MD5加密後,是專無屬法再轉成明文的,因為MD5是個不可逆的演算法。。至於你想實現自動登錄的話,需要使用COOKIE實現,將你的賬戶和密碼存在COOKIE里。