亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>學(xué)習(xí)電腦>網(wǎng)絡(luò)知識(shí)>網(wǎng)絡(luò)技術(shù)>

      如何正確地使用加密與認(rèn)證技術(shù)(2)

      時(shí)間: 恒輝636 分享

        0x02 加密

        我們之前定義了加密,并且詳細(xì)說(shuō)明了它是提供機(jī)密性,但不提供完整性和真實(shí)性的。你可以篡改加密信息,并將產(chǎn)生的垃圾給予接收者。而且你甚至可以利用這種垃圾產(chǎn)生機(jī)制,來(lái)繞過(guò)安全控制。

        考慮在加密cookie的情況下,有如下代碼:

        function setUnsafeCookie($name, $cookieData, $key)

        {

        $iv = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);

        return setcookie(

        $name,

        base64_encode(

        $iv.

        mcrypt_encrypt(

        MCRYPT_RIJNDAEL_128,

        $key,

        json_encode($cookieData),

        MCRYPT_MODE_CBC,

        $iv

        )

        )

        );

        }

        function getUnsafeCookie($name, $key)

        {

        if (!isset($_COOKIE[$name])) {

        return null;

        }

        $decoded = base64_decode($_COOKIE[$name]);

        $iv = mb_substr($decoded, 0, 16, '8bit');

        $ciphertext = mb_substr($decoded, 16, null, '8bit');

        $decrypted = rtrim(

        mcrypt_decrypt(

        MCRYPT_RIJNDAEL_128,

        $key,

        $ciphertext,

        MCRYPT_MODE_CBC,

        $iv

        ),

        "

      如何正確地使用加密與認(rèn)證技術(shù)(2)

      時(shí)間: 恒輝636 分享

        0x02 加密

        我們之前定義了加密,并且詳細(xì)說(shuō)明了它是提供機(jī)密性,但不提供完整性和真實(shí)性的。你可以篡改加密信息,并將產(chǎn)生的垃圾給予接收者。而且你甚至可以利用這種垃圾產(chǎn)生機(jī)制,來(lái)繞過(guò)安全控制。

        考慮在加密cookie的情況下,有如下代碼:

        function setUnsafeCookie($name, $cookieData, $key)

        {

        $iv = mcrypt_create_iv(16, MCRYPT_DEV_URANDOM);

        return setcookie(

        $name,

        base64_encode(

        $iv.

        mcrypt_encrypt(

        MCRYPT_RIJNDAEL_128,

        $key,

        json_encode($cookieData),

        MCRYPT_MODE_CBC,

        $iv

        )

        )

        );

        }

        function getUnsafeCookie($name, $key)

        {

        if (!isset($_COOKIE[$name])) {

        return null;

        }

        $decoded = base64_decode($_COOKIE[$name]);

        $iv = mb_substr($decoded, 0, 16, '8bit');

        $ciphertext = mb_substr($decoded, 16, null, '8bit');

        $decrypted = rtrim(

        mcrypt_decrypt(

        MCRYPT_RIJNDAEL_128,

        $key,

        $ciphertext,

        MCRYPT_MODE_CBC,

        $iv

        ),

        "

      "

        );

        return json_decode($decrypted, true);

        }

        上面的代碼提供了在密碼段鏈接模塊的AES加密,如果你傳入32字節(jié)的字符串作為$key,你甚至可以聲稱,為你的cookie提供了256位的AES加密,然后人們可能被誤導(dǎo)相信它是安全的。

      如何正確地使用加密與認(rèn)證技術(shù)(2)

      0x02 加密 我們之前定義了加密,并且詳細(xì)說(shuō)明了它是提供機(jī)密性,但不提供完整性和真實(shí)性的。你可以篡改加密信息,并將產(chǎn)生的垃圾給予接收者。而且你
      推薦度:
      點(diǎn)擊下載文檔文檔為doc格式
      168319