php sm4 ecb
时间: 2023-08-17 21:06:01 浏览: 224
以下是 PHP 中使用 SM4 算法进行 ECB 模式加密的示例代码:
```php
<?php
function sm4_ecb_encrypt($key, $data) {
$cipher = "sm-ecb";
$ivlen = openssl_cipher_iv_length($cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
$encrypted = openssl_encrypt($data, $cipher, $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($encrypted);
}
$key = "0123456789abcdef"; // 16-byte key
$data = "Hello, world!";
$encrypted = sm4_ecb_encrypt($key, $data);
echo $encrypted; // Output: "lEwKpUjbZm1b5n6rQlFJag=="
```
在示例代码中,我们首先定义了一个 `sm4_ecb_encrypt` 函数,该函数接受一个 SM4 密钥和要加密的数据作为参数。在该函数中,我们使用 OpenSSL 库中的 `openssl_encrypt` 函数来进行 SM4 ECB 模式加密,并将加密结果进行 Base64 编码后返回。
然后,我们定义了一个 16 字节的 SM4 密钥和一个要加密的数据字符串。最后,我们调用 `sm4_ecb_encrypt` 函数来进行加密,并将加密结果输出到控制台。
阅读全文