欢迎访问宙启技术站
智能推送

在PHP中实现加密和解密的函数?

发布时间:2023-09-15 23:26:44

在PHP中,可以使用各种算法来实现加密和解密函数。下面是几种常用的加密和解密函数的实现示例。

1. MD5加密和解密函数:

// 加密
function encryptMD5($data) {
    return md5($data);
}

// 解密(无法解密,因为MD5是单向加密)
function decryptMD5($data) {
    return $data;
}

2. Base64加密和解密函数:

// 加密
function encryptBase64($data) {
    return base64_encode($data);
}

// 解密
function decryptBase64($data) {
    return base64_decode($data);
}

3. AES加密和解密函数:

// 加密
function encryptAES($data, $key) {
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
    return base64_encode(openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv)) . ':' . base64_encode($iv);
}

// 解密
function decryptAES($data, $key) {
    $parts = explode(':', $data);
    $encryptedData = base64_decode($parts[0]);
    $iv = base64_decode($parts[1]);
    return openssl_decrypt($encryptedData, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
}

4. RSA加密和解密函数:

// 公钥加密
function encryptRSA($data, $publicKey) {
    openssl_public_encrypt($data, $encryptedData, $publicKey);
    return base64_encode($encryptedData);
}

// 私钥解密
function decryptRSA($data, $privateKey) {
    openssl_private_decrypt(base64_decode($data), $decryptedData, $privateKey);
    return $decryptedData;
}

以上是一些常用的加密和解密函数的示例,可以根据实际需求选择合适的加密算法和函数来实现数据的加密和解密操作。