迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

PHP AES 加密解密

作者:迹忆客 最近更新:2023/03/28 浏览次数:

PHP 有一个使用 PHP 的 AES 方法加密和解密字符串的内置扩展。

函数 openssl_encrypt() 用于加密字符串,openssl_decrypt() 用于解密字符串。


在 PHP 中使用 Open SSL 函数加密和解密字符串

openssl_encrypt()openssl_decrypt() 采用一组强制和可选参数,有关参数的信息如下表所示:

范围 描述
data 纯文本/字符串
cipher_algo 密码方法,在我们的例子中,AES
passphrase 如果密码短语短于限制,则会用空字符静默填充,如果长则截断。
options 标志的按位分离。OPENSSL_RAW_DATAOPENSSL_ZERO_PADDING
iv 初始化向量,非空
tag 身份验证标签 CGMCCM
aad 额外的身份验证数据。
tag_length 身份验证标签的长度在 4 到 16 之间

openssl_encrypt() 采用上述所有参数,并在使用 openssl_decrypt() 时排除 aadtag_length

<?php
//Encryption
$original_string = "Hello! This is jiyik.com";  // Plain text/String
$cipher_algo = "AES-128-CTR"; //The cipher method, in our case, AES 
$iv_length = openssl_cipher_iv_length($cipher_algo); //The length of the initialization vector
$option = 0; //Bitwise disjunction of flags
$encrypt_iv = '8746376827619797'; //Initialization vector, non-null
$encrypt_key = "jiyik!"; // The encryption key
// Use openssl_encrypt() encrypt the given string
$encrypted_string = openssl_encrypt($original_string, $cipher_algo,
            $encrypt_key, $option, $encrypt_iv);

//Decryption
$decrypt_iv = '8746376827619797'; //Initialization vector, non-null
$decrypt_key = "jiyik!"; // The encryption key
// Use openssl_decrypt() to decrypt the string
$decrypted_string=openssl_decrypt ($encrypted_string, $cipher_algo,
        $decrypt_key, $option, $decrypt_iv);

//Display Strings
echo "The Original String is: <br>" . $original_string. "<br><br>" ;
echo "The Encrypted String is: <br>" . $encrypted_string . "<br><br>";
echo "The Decrypted String is: <br>" . $decrypted_string;

?>

上面的代码首先使用 AES 方法对字符串进行加密,然后对其进行解密。

输出:

The Original String is: 
Hello! This is jiyik.com

The Encrypted String is: 
JF1iHtW4I9qK8q9OwCL9Yh1ejtZofci5

The Decrypted String is: 
Hello! This is jiyik.com

AES 根据方法和位数具有不同的 cipher_algorithams,例如 aes-128-cbcaes-192-cfbaes-256-cbc

此处查看 AES 加密和其他方法的所有选项。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便