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