ホームページ  >  記事  >  バックエンド開発  >  PHP の単純な対称暗号化アルゴリズムの概要 (コード例)

PHP の単純な対称暗号化アルゴリズムの概要 (コード例)

不言
不言転載
2019-03-16 11:39:422506ブラウズ

この記事では、一定の参考価値のある PHP の単純な対称暗号化アルゴリズム (コード例) を紹介します。お役に立てば幸いです。

挨拶の開始: PHP は世界で最高の言語であり、将来的には宇宙で最高の言語になる可能性があります。PHP の知識をさらに学びたい場合は、PHP についてさらに学ぶための記事をブログに投稿してください。専門知識。

暗号化

早速、コードに進みましょう。コードは次のとおりです。

  /**
   * 简单对称加密算法之加密
   * @param String $string 需要加密的字串
   * @param String $skey   加密EKY
   * @return String
   */
   public static function encode($string = '', $skey = 'cxphp')
   {
       $strArr   = str_split(base64_encode($string));
       $strCount = count($strArr);
       foreach (str_split($skey) as $key => $value) {
           $key < $strCount && $strArr[$key] .= $value;
       }
       return str_replace(array(&#39;=&#39;, &#39;+&#39;, &#39;/&#39;), array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), join(&#39;&#39;, $strArr));
   }

Decryption

早速、コードに進みましょう。コードは次のとおりです:

/**
 * 简单对称加密算法之解密
 * @param String $string 需要解密的字串
 * @param String $skey   解密KEY
 * @return String
 */
  public static function decode($string = &#39;&#39;, $skey = &#39;cxphp&#39;)
  {
      $strArr   = str_split(str_replace(array(&#39;O0O0O&#39;, &#39;o000o&#39;, &#39;oo00o&#39;), array(&#39;=&#39;, &#39;+&#39;, &#39;/&#39;), $string), 2);
      $strCount = count($strArr);
      foreach (str_split($skey) as $key => $value) {
          $key <= $strCount && isset($strArr[$key]) && $strArr[$key][1] === $value && $strArr[$key] = $strArr[$key][0];
      }
      return base64_decode(join(&#39;&#39;, $strArr));
  }
<br>

以上がPHP の単純な対称暗号化アルゴリズムの概要 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。