使用PHP或MySQL解密MS SQL ENCRYPTBYPASSPHRASE

时间:2015-08-27 13:33:44

标签: php mysql sql-server encryption

我需要用PHP或MySQL解密用MS SQL ENCRYPTBYPASSPHRASE加密的字符串。

我已经尝试过以各种方式使用mcrypt,只返回像' h | niIW q;ɵJ i 7 '这样的字符串。还尝试了不同的块模式,如“ecb”,“cbc”,“cfb”,“ofb”,“nofb”或“stream”。

我也尝试在MySQL中使用DES_DECRYPT,它只返回与输入相同的内容。

我试过的PHP函数:

public function Decrypt($data, $secret){

            //Generate a key from a hash
            $key = md5(utf8_encode($secret), true);

            //Take first 8 bytes of $key and append them to the end of $key.
            $key .= substr($key, 0, 8);

            $data = base64_decode($data);

            $data = mcrypt_decrypt('tripledes', $key, $data, 'ecb');

            $block = mcrypt_get_block_size('tripledes', 'ecb');
            $len = strlen($data);
            $pad = ord($data[$len-1]);

            return substr($data, 0, strlen($data) - $pad);
        }

MySQL我试过:

SELECT DES_DECRYPT( 'string', 'key:mykey' ) AS decrypt

我希望你能帮我找到解决这个问题的方法。

提前致谢。

0 个答案:

没有答案