PHP Blowfish使用数据库加密/解密

时间:2017-10-17 12:28:44

标签: php encryption blowfish

我在stackoverflow上找到了加密/解密代码。 就是这个:

public function decrypt_blowfish($data,$key){
    try{
        $iv     =   pack("H*" , substr($data,0,16));
        $x      =   pack("H*" , substr($data,16)); 
        $res    =   mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $x , MCRYPT_MODE_CBC, $iv);
        return $res;
    }catch(Exception $ex){
        echo $ex->getMessage();
    }
}

function encrypt_blowfish($data,$key){
    try{
        $iv_size    =   mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC);
        $iv         =   mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $crypttext  =   mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $data, MCRYPT_MODE_CBC, $iv);
        return bin2hex($iv . $crypttext);
    }catch(Exception $ex){
        echo $ex->getMessage();
    }
}

如果我只使用没有数据库中的值来测试它,它可以正常工作,但如果我使用数据库中的值,我会得到类似于"Manuel��"而不只是" Manuel" - 你能告诉我我的错误是什么吗?

0 个答案:

没有答案