如何存儲一些加密的字符串(大約一到幾個字)?我將如何使用php在Mysql中存儲一些加密的字符串?
讓我們假設我加密的字符串:
$key='fappings'; // Encryption Key
$str='Mama Luigi'; // String that I Encrypted
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $str, MCRYPT_MODE_CBC, md5(md5($key)));
現在,假設我不想索引數據,或執行任何搜查,只想問兩個問題:
我最好使用哪種數據類型?我會猜varbinary,但我不知道...
我將如何使我的查詢過程?假設我會使用一個簡單的mysql_query()函數。
我看到有些人會實際上使使用Base64編碼,然後只需將其插入,現在的樣子普通的字符串會去,如:
mysql_query("insert into faps data='".base64_encode($encrypted)."'");
但直覺告訴我這不是辦法做到這一點。即使在空間上不夠。
什麼是更好的方法?
那麼我不會去自定義加密,這很有趣玩ofc,但我不只是沒有心情,我已經有一個已經很好的工作。我也注意到我也不會考慮PDO。但正如我所能理解的,使用mysql_real_escape_string($ encrypted)進行存儲是安全的嗎?數據是二進制的,不是字符串,所以我只是不知道......我只是謹慎小心,如果你能回答這個問題,我將不勝感激。 – Anonymous 2012-07-29 14:36:08
是的,您可以使用mySQL_real_escape_sting存儲二進制數據。 – Robbie 2012-07-29 18:18:47
謝謝,那實際上做了訣竅:)我不能認爲它就像轉義字符串逃脫一樣簡單,即使它是二進制 – Anonymous 2012-07-31 12:13:24