php aes加密

<?php

namespace Aes;
error_reporting(E_ALL);
ini_set('display_errors', '1');
class Aes
{
   
/**
     * var string $method 加解密方法,可通过openssl_get_cipher_methods()获得
     */
protected $method;

/**
     * var string $secret_key 加解密的密钥
     */
protected $secret_key;

/**
     * var string $iv 加解密的向量,有些方法需要设置比如CBC
     */
protected $iv;

/**
     * var string $options (不知道怎么解释,目前设置为0没什么问题)
     */
protected $options;

/**
     * 构造函数
     *
     * @param string $key 密钥
     * @param string $method 加密方式
     * @param string $iv iv向量
     * @param mixed $options 还不是很清楚
     *
     */
public function __construct($key, $method = 'AES-128-ECB', $iv = '', $options = 0)
    {
   
// key是必须要设置的
$this->secret_key = isset($key) ? $key : 'morefun';

$this->method = $method;

$this->iv = $iv;

$this->options = $options;
    }

/**
     * 加密方法,对数据进行加密,返回加密后的数据
     *
     * @param string $data 要加密的数据
     *
     * @return string
     *
     */
public function encrypt($data)
    {
   
return openssl_encrypt($data, $this->method, $this->secret_key, $this->options, $this->iv);
    }

/**
     * 解密方法,对数据进行解密,返回解密后的数据
     *
     * @param string $data 要解密的数据
     *
     * @return string
     *
     */
public function decrypt($data)
    {
   
return openssl_decrypt($data, $this->method, $this->secret_key, $this->options, $this->iv);
    }
}



$aes = new Aes('12345678');

$str= 'hello';
$encrypted = $aes->encrypt($str);

echo '要加密的字符串:'.$str.'<br>加密后的字符串:', $encrypted, '<hr>';

$decrypted = $aes->decrypt($encrypted);

echo '要解密的字符串:', $encrypted, '<br>解密后的字符串:', $decrypted;

 

转载作品,原作者:,文章来源:https://blog.csdn.net/weixin_33727510/article/details/86018774

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年1月17日 09:50
下一篇 2022年1月19日 16:00

相关推荐

  • php-fpm 的配置和优化

    php-fpm的安装目录下面是我的平时的环境搭建php的各种安装目录,大家的基本也差不多。 centos等linux平台1. /usr/local/php/php2. /usr/l…

    Linux 2021年12月9日
    11350
  • PHPStorm和ThinkPHP 的使用

    PHPStorm和ThinkPHP 的使用,thinkPHP完全开发手册,安装ThinkPHP框架

    Php 2022年4月21日
    05680
  • PHP中如何使用OCR技术识别图片中的文字

    PHP中如何使用OCR技术识别图片中的文字,tesseract-ocr是一个流行的开源OCR引擎库,它使用C++编写。 PHP作为一种流行的服务器端语言,也提供了一些ocr识别的库和工具。可以通过tesseract-ocr识别PDF、JPEG、GIF、PNG等格式的图像。 tesseract-ocr的最大特点是它是针对多语言设计的,可以识别世界上大部分语言的文本。

    2024年11月4日
    0760
  • 鸿蒙HarmonyOS第一个项目Hello World

    鸿蒙HarmonyOS第一个项目Hello World

    2023年12月14日 编程语言
    0801
  • PHP为任意页面设置访问密码源代码

    PHP为任意页面设置访问密码源代码

    Php 2024年8月28日
    0510
  • ThinkPHP6初步搭建API服务

    ThinkPHP6正式发布已有一小段时间,按照官方文档实操了一遍。中间也遇到些小问题,在网上找解决方案花费了一些时间。本次分享整理了ThinkPHP6从头开始部署的详细操作步骤,希…

    Php 2021年12月9日
    01740

发表回复

登录后才能评论
分享本页
返回顶部