我得到的數據,那將要保存到使用CI的數據庫類我的數據庫:代碼點火器插入帶有數據庫類MySQL的功能
$data = array(
'login' => $this->input->post('login', TRUE),
'password' => $this->input->post('password', TRUE),
'email' => $this->input->post('email', TRUE)
);
return $this->db->insert('account', $data);
現在我需要使用MySQL的函數PASSWORD()
得到password
後期哈希。
我已經試過這樣:
'password' => "PASSWORD(" . $this->input->post('password', TRUE) . ");
但CI的數據庫類將其轉換爲以下字符串:
INSERT INTO `accounts` [..] 'PASSWORD("mypassword")'
所以你可以看到,它不會因爲工作它將保存整個字符串在'
之間。
有沒有解決方案,或者我不得不使用$this->db->query
?
一個簡單的選擇是使用CI的MD5選項。 '$ this-> form_validation-> set_rules('password','Password','trim | required | matches [passconf] | md5');' – Boz 2012-02-10 18:04:37
是的,我知道但是這些時候使用'md5'有點不安全,因爲已經有成千上萬個擁有'md5'散列庫的站點,並且黑客可以輕鬆解碼一些散列。 – Cyclone 2012-02-10 18:07:55
我強烈建議** NOT **在任何地方使用任何md5哈希密碼! – bottleboot 2012-02-10 18:18:41