PHP基于 OpenSSL 实现国密 SM4 加解密

简介: PHP基于 OpenSSL 实现国密 SM4 加解密

代码如下:
if (!in_array('sm4-cbc', openssl_get_cipher_methods())) {

printf("不支持 sm4\n");

}

$key = 'her-cat.com';
$iv = random_bytes(openssl_cipher_iv_length('sm4-cbc'));

$plaintext = '她和她的猫';

$ciphertext = openssl_encrypt($plaintext, 'sm4-cbc', $key, OPENSSL_RAW_DATA , $iv);

printf("加密结果: %s\n", bin2hex($ciphertext));

$original_plaintext = openssl_decrypt($ciphertext, 'sm4-cbc', $key, OPENSSL_RAW_DATA , $iv);

printf("解密结果: %s\n", $original_plaintext);

加密结果: 45cd787b0a84603ae8fd443b81af4d17
解密结果: 她和她的猫
原文作者: her-cat

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议

目录
相关文章
|
7月前
|
PHP 数据安全/隐私保护
在PHP中使用AES进行加密和解密
在PHP中使用AES进行加密和解密
470 0
|
2月前
|
安全 算法 API
OpenSSL支持哪些加密算法?
【10月更文挑战第4天】OpenSSL支持哪些加密算法?
189 5
|
6月前
|
存储 算法 安全
PHP AES加解密示例
PHP AES加解密示例
118 0
PHP AES加解密示例
|
网络安全 PHP 数据安全/隐私保护
PHP AES 加密解密
PHP AES 加密解密
218 0
|
前端开发 Linux API
php rsa 加密解密实例
php rsa 加密解密实例
|
PHP 数据安全/隐私保护
php 生成加密公钥加密私钥
php 生成加密公钥加密私钥
|
JSON PHP 数据安全/隐私保护
PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密
PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密
648 0
|
前端开发 PHP 数据安全/隐私保护
【PHP】使用Aes进行加密
【PHP】使用Aes进行加密
211 0
【PHP】使用Aes进行加密
|
存储 算法 安全
PHP 使用非对称加密算法(RSA)
PHP 使用非对称加密算法(RSA)
322 0
PHP 使用非对称加密算法(RSA)