>  기사  >  백엔드 개발  >  javascript - aes128 암호화와 관련된 일부 관련 문제

javascript - aes128 암호화와 관련된 일부 관련 문제

WBOY
WBOY원래의
2016-08-04 09:21:431278검색

클래스 AES {

<code>const KEY = "625202f9149e061d";
const IV = "5efd3f6060e20330";

/**</code>
    • pkcs7 보완

    • @param string $string 일반 텍스트

    • @param int $blocksize 블록 크기(바이트)

    • @return 문자열
      */

    1. 함수 addPkcs7Padding($string, $blocksize = 32) {

      <code>   $len = strlen($string); //取得字符串长度
         $pad = $blocksize - ($len % $blocksize); //取得补码的长度
         $string .= str_repeat(chr($pad), $pad); //用ASCII码为补码长度的字符, 补足最后一段
         return $string;</code>

      }

    2. aes128cbcEncrypt($str, $iv = self::IV, $key = self::KEY) { // $this->addPkcs7Padding($str,16)

      <code>   $base = (mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $this->addPkcs7Padding($str, 16), MCRYPT_MODE_CBC, $iv));
         return $this->strToHex($base);</code>

      }

    3. strToHex($string) {//문자열을 16진수로 변환

      <code>   $hex = "";
         $tmp = "";
         for ($i = 0; $i < strlen($string); $i++) {
             $tmp = dechex(ord($string[$i]));
             $hex.= strlen($tmp) == 1 ? "0" . $tmp : $tmp;
         }
         $hex = strtoupper($hex);
         return $hex;</code>

      }
      인터넷에서 찾은 aes 암호화 코드에는 PHP와 Android가 포함되어 있습니다. 친절한 분이 와서 $aes = new aes() $aes->aes128cbcEncrypt('token'); 단계 또는 해당 js 버전 작성에 도움 = =

    답글 내용:

    클래스 AES {

    <code>const KEY = "625202f9149e061d";
    const IV = "5efd3f6060e20330";
    
    /**</code>
    • pkcs7 보완

    • @param string $string 일반 텍스트

    • @param int $blocksize 블록 크기(바이트)

    • @return 문자열
      */

    1. 함수 addPkcs7Padding($string, $blocksize = 32) {

      <code>   $len = strlen($string); //取得字符串长度
         $pad = $blocksize - ($len % $blocksize); //取得补码的长度
         $string .= str_repeat(chr($pad), $pad); //用ASCII码为补码长度的字符, 补足最后一段
         return $string;</code>

      }

    2. aes128cbcEncrypt($str, $iv = self::IV, $key = self::KEY) { // $this->addPkcs7Padding($str,16)

      <code>   $base = (mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $this->addPkcs7Padding($str, 16), MCRYPT_MODE_CBC, $iv));
         return $this->strToHex($base);</code>

      }

    3. strToHex($string) {//문자열을 16진수로 변환

      <code>   $hex = "";
         $tmp = "";
         for ($i = 0; $i < strlen($string); $i++) {
             $tmp = dechex(ord($string[$i]));
             $hex.= strlen($tmp) == 1 ? "0" . $tmp : $tmp;
         }
         $hex = strtoupper($hex);
         return $hex;</code>

      }
      인터넷에서 찾은 aes 암호화 코드에는 PHP와 Android가 포함되어 있습니다. 친절한 분이 와서 $aes = new aes() $aes->aes128cbcEncrypt('token'); 단계 또는 해당 js 버전 작성에 도움 = =

    말하기가 꽤 복잡하니 이 링크를 살펴보세요.
    http://yinghuayuan8866.blog.163.com/blog/static/2245702720121225658625/

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.