温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在PHP中实现AES双向加密解密功能

发布时间:2021-04-15 17:03:10 阅读:214 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

怎么在PHP中实现AES双向加密解密功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

具体如下:

<?php
 用法:
 Security::encrypt($str,$key);
 Security::decrypt($str,$key);
 */
 class Security {
  public static function encrypt($input$key) {
   $size mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
   $input Security::pkcs5_pad($input$size);
   $td mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, '');
   $iv mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
   mcrypt_generic_init($td$key$iv);
   $data mcrypt_generic($td$input);
   mcrypt_generic_deinit($td);
   mcrypt_module_close($td);
   $data base64_encode($data);
   return $data;
  }
  private static function pkcs5_pad ($text$blocksize) {
   $pad $blocksize - (strlen($text) % $blocksize);
   return $text str_repeat(chr($pad), $pad);
  }
  public static function decrypt($sStr$sKey) {
   $decryptedmcrypt_decrypt(
    MCRYPT_RIJNDAEL_128,
    $sKey,
    base64_decode($sStr),
    MCRYPT_MODE_ECB
   );
   $dec_s strlen($decrypted);
   $padding ord($decrypted[$dec_s-1]);
   $decrypted substr($decrypted0, -$padding);
   return $decrypted;
  }
 }
//用法示例:
$str "www.jb51.net";
$key "123456";
echo "原始字符串:".$str."<br/>";
$pwdstr Security::encrypt($str,$key);
echo "加密后:".$pwdstr."<br/>";
$destr Security::decrypt($pwdstr,$key);
echo "解密结果:".$destr;
?>

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×