在数据库中存储数据是加密的,并进行检索

时间:2011-09-15 13:35:48

标签: php mysql

例如:

$text = "sample";
$salt = "sh54mdR";

我想通过使用$ salt值将$ text值存储在db中。结果应该是这样的:

jkhdnewewjhjjhnd (it's just an example, so I want to hide $text value)

比id更喜欢将“jkhdnewewjhjjhnd”解密为“示例”我不能使用md5,sha等。我正在寻找一种存储值的方法,而不是去除它。你知道我的请求的PHP函数吗?

2 个答案:

答案 0 :(得分:2)

查看 mcrypt functions

加密:

$key = "this is a secret key";
$input = "Let us meet at 9 o'clock at the secret place.";

$encrypted_data = mcrypt_ecb (MCRYPT_3DES, $key, $input, MCRYPT_ENCRYPT);

解密:

$decrypted = mbcrypt_ecb(MCRYPT_3DES, $key, $encrypted_data, MCRYPT_DECRYPT);

请参阅http://us.php.net/manual/en/mcrypt.examples.php

中的示例

除非列接受二进制数据,否则不要忘记在存储到数据库之前使用base64_encode()。

答案 1 :(得分:0)

使用Mcrypt库,它支持许多密码(请参阅此处的列表:http://www.php.net/manual/en/mcrypt.ciphers.php

一个例子:

$text = "sample";
$salt = "sh54mdR";

$encrypted_data = mcrypt_ecb (MCRYPT_3DES, $salt, $text, MCRYPT_ENCRYPT);