jQuery加密数据

时间:2018-04-21 00:54:39

标签: php jquery

其实我的问题很荒谬。我通过添加标题提供安全性。当我添加加密数据时,浏览器会出错。

代码源输出:

headers: {
    "Authorization": "���6���/��O��u�f�߁v2��",
},

Console Output

浏览器检测到:

headers: {
    "Authorization": "���6���/��O��
u�f�߁v2��",
},

PHP代码:

 headers: {
     "Authorization": "<?php echo $_SESSION['sID']; ?>",
 },

我的课程班级:

class Session {

    public function __construct() {
        if(session_status() == PHP_SESSION_NONE) {
            session_start();
        }
        self::Encrypt('sID', session_id());
    }

    public static function Encrypt($Name, $Value) {
        if(!is_null($Value)) {
            $_SESSION[$Name] = openssl_encrypt($Value, Config::Get('Encrypt/Type'), Config::Get('Encrypt/Password'), OPENSSL_RAW_DATA, Config::Get('Encrypt/Session'));
            return $_SESSION[$Encrypt];
        }
        return false;
    }
 }

有什么问题?有没有人有想法?最好的问候!

另外:str_replacetrim尝试了它的功能。

1 个答案:

答案 0 :(得分:3)

设置了openssl_encrypt()标志的OPENSSL_RAW_DATA的返回值通常不是可打印的字符串。它通常包含无效的UTF-8字符,有时可能包含会干扰Javascript代码解析的字符,如引号。

此处不要使用OPENSSL_RAW_DATA标志。如果没有设置此标志,该函数将返回Base64编码的输出,这更适合您的需要。