千家信息网

PHP怎么用openssl_sign实现SHA, SHA2加密与验证

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"PHP怎么用openssl_sign实现SHA, SHA2加密与验证",在日常操作中,相信很多人在PHP怎么用openssl_sign实现SHA, SHA2加密与验证问题上存在疑惑,
千家信息网最后更新 2025年02月02日PHP怎么用openssl_sign实现SHA, SHA2加密与验证

这篇文章主要介绍"PHP怎么用openssl_sign实现SHA, SHA2加密与验证",在日常操作中,相信很多人在PHP怎么用openssl_sign实现SHA, SHA2加密与验证问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP怎么用openssl_sign实现SHA, SHA2加密与验证"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

这次与Java服务端联调,对方采用SHA256WithRSA加密, 开始以为是对应php的openssl_sign()函数的默认签名算法,后面发现不是,遂记录避免以后踩坑.

class RSA{        $public_key  = 'aaaaaaaa';        $private_key = 'bbbbbb';/***  格式公钥与私钥*  $key string 公钥或私钥*  $type  string public|private */public function formatKey($key,$type = 'public'){        $key= chunk_split($key,64,"\n");        if ('public' == $type){                $key="-----BEGIN RSA PRIVATE KEY-----\n".$key."-----END RSA PRIVATE KEY-----\n";        } else {                $key="-----BEGIN RSA PRIVATE KEY-----\n".$key."-----END RSA PRIVATE KEY-----\n";        }        return $key;}/*** 加密* $encode_str string 待加密的字符串* $key string 公钥或私钥,一般用私钥* $type string OPENSSL_ALGO_SHA1|OPENSSL_ALGO_SHA256  对应sha1与sha2*/public function encode($encode_str,$key,$type = OPENSSL_ALGO_SHA1){    $result = false;    if (openssl_sign($data, $result, $key,$type)){        $result = base64_encode(''.$result);    }    return $result;}/*** 验证* $verfiy_str string 待验证的字符串* $key string 公钥或私钥,一般用公钥* $type string OPENSSL_ALGO_SHA1|OPENSSL_ALGO_SHA256  对应sha1与sha2*/public function verfiy($verfiy_str,$sign,$key,$type = OPENSSL_ALGO_SHA1){        return openssl_verify($verfiy_str,base64_decode($sign),$key,$type);}}

到此,关于"PHP怎么用openssl_sign实现SHA, SHA2加密与验证"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

加密 验证 公钥 学习 字符 字符串 更多 帮助 实用 接下来 函数 对方 文章 方法 格式 理论 知识 算法 篇文章 网站 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 安徽食品行业进口软件服务器软件 湖北生活网络安全教育图片 怎么查询访问的服务器地址 servlet服务器有什么用 赤峰思维软件开发公司 数据库备机 微信小程序数据库 python 文登远通网络技术有限公司 校园网网络安全综合解决方案 银河战舰有几个服务器 华为新一代网络技术 没有网络安全就没有国家安全 我的世界赞助服务器 佛山手机软件开发市场价 联想服务器内存条插法 美国参议院通过网络安全法案 联想电脑管理杀毒防护服务器 国内服务器域名怎么免备案 pg数据库中有2亿数据怎么清空 高校师生同上一门网络安全课 C语言软件开发教程下载 失落的方舟服务器进不去 赤峰思维软件开发公司 网课资源数据库 数据库文件转换工具 华为新一代网络技术 北京市京东网络技术 数据库集群 连接池 软件开发企业印花税怎么申报 光传输设备网络管理服务器
0