国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

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

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

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

      0x02 加密

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

      考慮在加密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ì)說明了它是提供機(jī)密性,但不提供完整性和真實(shí)性的。你可以篡改加密信息,并將產(chǎn)生的垃圾給予接收者。而且你甚至可以利用這種垃圾產(chǎn)生機(jī)制,來繞過安全控制。

      考慮在加密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ì)說明了它是提供機(jī)密性,但不提供完整性和真實(shí)性的。你可以篡改加密信息,并將產(chǎn)生的垃圾給予接收者。而且你
    推薦度:
    點(diǎn)擊下載文檔文檔為doc格式
    168319