javascript - aes128加密一些相关问题

 swaimprichett_556 发布于 2022-11-12 06:10

class aes {

const KEY = "625202f9149e061d";
const IV = "5efd3f6060e20330";

/**
    • pkcs7补码

    • @param string $string 明文

    • @param int $blocksize Blocksize , 以 byte 为单位

    • @return String
      */

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

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

      }

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

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

      }

    3. strToHex($string) {//字符串转十六进制

         $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;

      }
      aes加密 在网上找的代码有PHP 和 android 的 来位好心人讲讲$aes = new aes(); $aes->aes128cbcEncrypt('token');这个加密过程的每一步呗 或者帮忙写一份对应的js版本的 = =

    1 个回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有