mysql是否提供了一種用於存儲和檢索加密數據的機制?我不是指密碼,我的意思是真正的字符串。mysql:加密和解密數據
我想加密一個字符串,存儲在mysql中,然後在稍後的日期檢索解密的字符串。
所以,我知道有AES_Encrypt和解密函數。但他們要求一個關鍵。 (這很好),但我想知道你是否調用這些函數並使用你的用戶密碼作爲密鑰。或者其他非常簡單的東西。
另外,是否有一個簡單的包裝AES_Encrypt &解密函數在Rails中?或者您是否需要手動構建查詢?
mysql是否提供了一種用於存儲和檢索加密數據的機制?我不是指密碼,我的意思是真正的字符串。mysql:加密和解密數據
我想加密一個字符串,存儲在mysql中,然後在稍後的日期檢索解密的字符串。
所以,我知道有AES_Encrypt和解密函數。但他們要求一個關鍵。 (這很好),但我想知道你是否調用這些函數並使用你的用戶密碼作爲密鑰。或者其他非常簡單的東西。
另外,是否有一個簡單的包裝AES_Encrypt &解密函數在Rails中?或者您是否需要手動構建查詢?
如果我理解你,那麼你所需要的只是一種從你的(或其他)用戶密碼中生成AES密鑰的方法?
難道你不應該問'是否有一種簡單的方法來從5-20char字符串中生成AES密鑰?
正如你指出的,其他工具已經就位在MySQL:http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html
而且你會發現這裏this後的一些想法上SO。
你可以只Concat的加密功能:
select aes_encrypt('MyData',Password('MyPassword'))
,然後再返回..
select Aes_decrypt(aes_encrypt('MyData',Password('MyPassword'))
, Password('MyPassword'))
如果密碼即將更改,請務必重新加密原始數據。 – 2014-05-27 09:29:58
$pass = $_POST['pass'];
$sql = "INSERT INTO testperson (name,password,contact) VALUES('$name',md5('$pass'),$cont)";
要加密,如密碼輸入之前剛寫的MD5。
MD5不是加密算法。 *從不*使用MD5來「加密」密碼。 – JJJ 2017-06-22 14:38:52
爲什麼你需要這種不尋常的東西? – 2010-04-01 05:10:17
不想將一些數據作爲純文本存儲在驅動器或數據庫中。不是密碼,因此標準加密和匹配不起作用。 – cbrulak 2010-04-01 05:13:08
純文本有什麼問題?每個人都可以毫無問題地使用它 – 2010-04-01 05:31:27