当前位置:首页 > CN2资讯 > 正文内容

php aesphp aes加密

2天前CN2资讯

对称加密是相对于非对称加密存在的。

对称加密,是通过密钥加密后,可以再通过之前加密的密钥进行解密,得到加密之前的信息。

非对称加密,是有公钥和私钥,如果使用公钥加密,那么需要用私钥解密,得到加密之前的信息;同样,如果使用私钥加密,那么需要用公钥解密,得到加密之前的信息。

由于php7已经废弃了mcrypt的内置函数,所以,本篇采用openssl的加密函数。代码如下:

/** * Class OpensslEncrypt 对称加密类 */ class OpensslEncrypt { const IV = "d89fb057f6d4f03g";//加密向量,16个字节 const KEY = 'e9c8e878ee8e2658';//密钥,16个字节 /** * 加密字符串 * @param string $strContent 待加密的字符串内容 * @param string $key 加密key * @return string 返回加密后的字符串,失败返回false */ public static function encrypt($strContent,$key = self::KEY,$iv = self::IV){ $strEncrypted = openssl_encrypt($strContent,"AES-128-CBC", $key,OPENSSL_RAW_DATA, $iv); return base64_encode($strEncrypted); } /** * 解密字符串 * @param string $strEncryptCode加密后的字符串 * @param string $key 加密key * @return string 返回解密后的字符串,失败返回false */ public static function decrypt($strEncryptCode,$key = self::KEY,$iv = self::IV){ $strEncrypted = base64_decode($strEncryptCode); return openssl_decrypt($strEncrypted,"AES-128-CBC",$key,OPENSSL_RAW_DATA,$iv); } }

本篇的AES加密的分组加密模式采用的CBC的模式,所以需要个初始的加密向量(如果采用ECB的模式则不需要加密向量)。

采用base64的编码,是因为openssl_encrypt()得到是原始二进制数据,需要转换一下编码。

OPENSSL_RAW_DATA,是按位或的标记(本处是0),根据这个标记得到原始的二进制数据。

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/26397.html

    标签: phpaesPHP
    分享给朋友:

    “php aesphp aes加密” 的相关文章

    如何安全地关闭防火墙和使用Linux命令管理防火墙

    在使用Linux系统时,关闭防火墙这件事我总觉得是个敏感话题。防火墙是保护计算机免受外部攻击的重要屏障,理解其作用很有必要。防火墙可以帮助我们监控和限制进入或离开系统的网络流量,让未授权的访问无处遁形。因此,在我们决定关闭防火墙之前,首先要明确什么样的场景和条件下,这个操作是合理的。 关闭防火墙之前...

    全面解析服务器与主机:性能优化与选择策略

    1.1 服务器与主机的定义与基本概念 在信息技术的世界中,服务器和主机是两个不可或缺的概念。我常常将服务器视为一个强大的计算机,专门用于处理、存储和管理数据。它主要面向网络上的其他设备,承担着提供服务的重任。比如,网站的后台就是一个服务器,负责处理访问请求、存储用户数据等。而主机则是一个更广泛的术语...

    VPS Speedtest:优化虚拟专用服务器性能的必备工具和策略

    在数字时代,VPS(虚拟专用服务器)已经成为许多企业和个人建站的首选方案。为了确保VPS的性能满足需求,VPS Speedtest便显得格外重要。简单来说,VPS Speedtest就是对虚拟专用服务器的网络速度、带宽和延迟进行测试的一种方式。通过这一过程,我们不仅能了解VPS的现有性能,还能在需要...

    /16子网掩码的配置与应用指南 | 实现高效网络管理

    为什么选择/16的子网掩码 选择/16的子网掩码常常让人感到有些陌生。对我来说,这个数字不仅仅是一个技术参数,它蕴含着网络设计的深刻意义。首先,子网掩码的基本概念就如同我们在城市中划分区域,/16实际上表示有65536个可用IP地址。这么广阔的空间对于需要大量设备联网的环境,如企业或大型组织,尤其重...

    虚拟主机与服务器的区别:选择最佳网络解决方案

    在现代互联网环境中,虚拟主机和服务器这两个词时常会交替出现。作为一个初学者,了解它们的基本概念是非常重要的。接下来,我将分别给大家介绍虚拟主机与服务器的定义以及它们之间的主要区别。希望通过我的描述,能够帮助大家更清晰地认识这两个概念。 首先,我想谈谈虚拟主机的定义。虚拟主机是通过虚拟化技术在一台物理...

    Hosteons:现代用户的高效在线服务管理平台

    什么是 Hosteons Hosteons 是一个令人瞩目的平台,专为满足现代用户的需求而设计。它结合了灵活性和高效性,无论是个人用户还是企业用户,都能从中获得巨大的便利。Hosteons 提供了一种集中化的方式来管理和优化各种在线服务,真正做到了让人们的生活和工作更加高效和便捷。 在使用 Host...