200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > php 加解密处理openssl_decrypt

php 加解密处理openssl_decrypt

时间:2021-07-28 21:27:30

相关推荐

php 加解密处理openssl_decrypt

基础定义

openssl_encrypt

# 以指定的方式和 key 加密数据,返回原始或 base64 编码后的字符串openssl_encrypt(string $data,string $cipher_algo,string $passphrase,int $options = 0,string $iv = "",string &$tag = null,string $aad = "",int $tag_length = 16): string|falsedata待加密的明文信息数据。cipher_algo密码学方式。openssl_get_cipher_methods() 可获取有效密码方式列表。passphrase口令(passphrase)。 若 passphrase 比预期长度短,将静默用 NUL 填充; 若比预期长度更长,将静默截断。optionsoptions 是以下标记的按位或: OPENSSL_RAW_DATA 、 OPENSSL_ZERO_PADDING。iv非 NULL 的初始化向量。tag使用 AEAD 密码模式(GCM 或 CCM)时传引用的验证标签。aad附加的验证数据。tag_length验证 tag 的长度。GCM 模式时,它的范围是 4 到 16。

openssl_decrypt

# 采用原始或base64编码的字符串,并使用给定的方法和密钥对其进行解密openssl_decrypt(string $data,string $method,string $key,int $options = 0,string $iv = "",string $tag = "",string $aad = ""): stringdata将被解密的密文。method加密算法,使用openssl_get_cipher_methods()函数获取可用的加密算法列表。key密钥。optionsoptions can be one of OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING.iv非空的初始化向量。tagAEAD密码模式中的身份验证标签。 如果是错误的,验证失败,函数返回false.aad额外的认证数据。

操作

<?php$arr = ['a'=>1, 'b'=>2];$data = json_encode($arr);//加密明文$method = 'DES-ECB';//加密方法$passwd = '12344321';//加密密钥$options = 0;//数据格式选项(可选)$iv = '';//加密初始化向量(可选)$result = openssl_encrypt($data, $method, $passwd, $options);var_dump($result);$res = openssl_decrypt($result, $method, $passwd, $options);var_dump($res);var_dump(json_decode($res, true));

结果

string(24) "GJv+LHgxK4NZzNFcjfJPhg=="string(13) "{"a":1,"b":2}"array(2) {["a"]=>int(1)["b"]=>int(2)}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。