php 如何sm4加密
时间: 2024-01-31 21:08:42 浏览: 36
以下是两种在PHP中进行SM4加密的方法:
1. 使用PHP系统方法进行SM4加密
```php
// 要加密的明文
$plaintext = 'QCzqMc5n';
// 双方约定好的密钥,转换16进制的密钥为二进制格式后,参与加密
$key = hex2bin('这里是十六进制的字符串');
$ciphertext = openssl_encrypt($plaintext, 'sm4-ecb', $key, OPENSSL_RAW_DATA);
// 加密后的字符串,一定要将二进制的转成十六进制的,才与java加密后的一致
$str = bin2hex($ciphertext);
echo $str;
```
2. 使用第三方库phpseclib进行SM4加密
```php
// 导入phpseclib库
include('Crypt/SM4.php');// 要加密的明文
$plaintext = 'QCzqMc5n';
// 双方约定好的密钥,转换16进制的密钥为二进制格式后,参与加密
$key = hex2bin('这里是十六进制的字符串');
// 创建SM4对象
$sm4 = new Crypt_SM4();
// 设置加密模式为ECB
$sm4->setBlockLength(128);
$sm4->setKey($key);
$sm4->setIV('');// 加密
$ciphertext = $sm4->encrypt($plaintext);
// 加密后的字符串,一定要将二进制的转成十六进制的,才与java加密后的一致
$str = bin2hex($ciphertext);
echo $str;
```
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)