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 国际许可协议

目录
相关文章
|
存储 负载均衡 Kubernetes
Openresty动态更新(无reload)TCP Upstream的原理和实现
本文介绍了对Openresty或Nginx的TCP Upstream的动态更新(无需Reload)的一种实现方式,这种实现对于正在尝试做Nginx扩展的开发者是一种参考。文中我们对nginx结合lua对一次请求的处理流程和可扩展方式也进行了说明,重要的是给出了实际代码帮助开发者理解。目前社区中比如Kong、nginx-ingress-controller等基于Nginx扩展的项目都是类似的思路。
12454 1
Openresty动态更新(无reload)TCP Upstream的原理和实现
|
12月前
|
JSON 自然语言处理 搜索推荐
银行卡归属地及开户行查询API查询实战指南
银行卡归属地及开户行查询API,通过卡号快速识别发卡行、开户地及卡种信息,支持全国1500+银行,数据实时更新。提供结构化数据返回,广泛应用于支付、风控、用户画像等场景,助力金融系统高效、安全运行。
3745 9
|
数据采集 XML 搜索推荐
一文搞懂SEO优化之站点robots.txt
建站后千万别忘记配置 `robots.txt` 爬虫规则,对于搜索引擎发现你的站点非常重要,除了主动到搜索引擎平台提交网站之外,也要主动告诉搜索引擎网站里都有哪些网页?哪些希望被抓取?哪些不希望被抓取?
974 3
|
算法 JavaScript 前端开发
JavaScript学习 -- SM4算法应用实例
JavaScript学习 -- SM4算法应用实例
1414 0
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
12537 12
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
JSON PHP 数据格式
蓝易云 - PHP用CURL发送Content-type为application/json的POST请求方法
在这段代码中,我们首先创建了一个包含我们要发送的数据的数组,并使用 `json_encode`函数将其转换为JSON格式。然后,我们初始化了一个cURL会话,并设置了一些选项,包括POST请求方法、要发送的数据、返回结果和HTTP头部信息。最后,我们执行了cURL请求并关闭了会话。
822 2
|
存储 监控 NoSQL
【MongoDB 专栏】MongoDB 分片策略与最佳实践
【5月更文挑战第10天】MongoDB 分片是应对大数据量的扩展策略,涉及哈希和范围分片两种策略。分片架构包含分片服务器、配置服务器和路由服务器。最佳实践包括选择合适分片键、监控调整、避免热点数据等。注意数据分布不均和跨分片查询的挑战。通过实例展示了如何在电商场景中应用分片。文章旨在帮助理解并优化 MongoDB 分片使用。
793 3
【MongoDB 专栏】MongoDB 分片策略与最佳实践
|
数据安全/隐私保护
MIUI中无法获取所有短信的坑
MIUI中无法获取所有短信的坑
830 2

热门文章

最新文章