PHP sending encrypted data via the URL

后端 未结 4 1161
余生分开走
余生分开走 2021-01-04 18:35

I\'m trying to send encrypted data over the url to another site (using file_get_contents(\"anotherUrl.php?hash=$encryptedString\"). The problem is, sometimes, t

4条回答
  •  醉话见心
    2021-01-04 19:07

    In order to solve this problem I now use the following (after 3 hours of pain), and it works great.

    Feel free to copy and paste

    function encrypt($pure_string) {
        $dirty = array("+", "/", "=");
        $clean = array("_PLUS_", "_SLASH_", "_EQUALS_");
        $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
        $_SESSION['iv'] = mcrypt_create_iv($iv_size, MCRYPT_RAND);
        $encrypted_string = mcrypt_encrypt(MCRYPT_BLOWFISH, $_SESSION['encryption-key'], utf8_encode($pure_string), MCRYPT_MODE_ECB, $_SESSION['iv']);
        $encrypted_string = base64_encode($encrypted_string);
        return str_replace($dirty, $clean, $encrypted_string);
    }
    
    function decrypt($encrypted_string) { 
        $dirty = array("+", "/", "=");
        $clean = array("_PLUS_", "_SLASH_", "_EQUALS_");
    
        $string = base64_decode(str_replace($clean, $dirty, $encrypted_string));
    
        $decrypted_string = mcrypt_decrypt(MCRYPT_BLOWFISH, $_SESSION['encryption-key'],$string, MCRYPT_MODE_ECB, $_SESSION['iv']);
        return $decrypted_string;
    }
    

提交回复
热议问题