Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php加密源码

作者:看不见相思意   发布日期:2026-03-25   浏览:37

<?php
// 使用PHP内置的加密函数进行简单加密和解密示例

// 定义一个密钥,用于加密和解密
$secret_key = 'my_secret_key';

// 要加密的字符串
$data_to_encrypt = 'Hello, this is a secret message!';

// 加密函数
function encrypt($data, $key) {
    // 使用openssl_encrypt函数进行加密
    // 方法: AES-128-CBC
    // 注意: 需要生成一个合适的初始化向量 (IV)
    $method = 'AES-128-CBC';
    $iv_length = openssl_cipher_iv_length($method);
    $iv = openssl_random_pseudo_bytes($iv_length);

    // 加密数据并返回加密后的数据和IV(IV需要保存以便解密时使用)
    $encrypted_data = openssl_encrypt($data, $method, $key, 0, $iv);
    return base64_encode($iv . $encrypted_data);
}

// 解密函数
function decrypt($data, $key) {
    // 使用openssl_decrypt函数进行解密
    $method = 'AES-128-CBC';
    $data = base64_decode($data);
    $iv_length = openssl_cipher_iv_length($method);
    $iv = substr($data, 0, $iv_length);
    $encrypted_data = substr($data, $iv_length);

    // 解密数据并返回原始数据
    return openssl_decrypt($encrypted_data, $method, $key, 0, $iv);
}

// 加密示例
$encrypted_data = encrypt($data_to_encrypt, $secret_key);
echo "Encrypted Data: " . $encrypted_data . "\n";

// 解密示例
$decrypted_data = decrypt($encrypted_data, $secret_key);
echo "Decrypted Data: " . $decrypted_data . "\n";
?>

解释说明:

  1. 密钥 ($secret_key): 用于加密和解密的密钥。必须保持安全,不能泄露。
  2. 加密函数 (encrypt): 使用 openssl_encrypt 函数对数据进行加密。加密方法为 AES-128-CBC,并且生成了一个初始化向量 (IV)。加密后的数据和IV一起被编码为Base64格式返回。
  3. 解密函数 (decrypt): 使用 openssl_decrypt 函数对数据进行解密。首先解码Base64格式的数据,提取出IV,然后使用IV和密钥解密数据。
  4. 示例: 演示了如何加密和解密一条消息,并输出加密后的数据和解密后的原始数据。

希望这段代码对你有帮助!

上一篇:php 连接数据库

下一篇:php 加密解密

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站