时间:2021-05-26
超级简单,依赖于OpenSSL扩展,这里就不多废话了,直接奉上代码
签名:
function sign($data) { //读取私钥文件 $priKey = file_get_contents('key/rsa_private_key.pem'); //转换为openssl密钥,必须是没有经过pkcs8转换的私钥 $res = openssl_get_privatekey($priKey); //调用openssl内置签名方法,生成签名$sign openssl_sign($data, $sign, $res); //释放资源 openssl_free_key($res); return $sign;}验证:
function verify($data, $sign) { //读取支付宝公钥文件 $pubKey = file_get_contents('key/alipay_public_key.pem'); //转换为openssl格式密钥 $res = openssl_get_publickey($pubKey); //调用openssl内置方法验签,返回bool值 $result = (bool)openssl_verify($data, $sign, $res); //释放资源 openssl_free_key($res); return $result;解密
function decrypt($content) { //读取商户私钥 $priKey = file_get_contents('key/rsa_private_key.pem'); //转换为openssl密钥,必须是没有经过pkcs8转换的私钥 $res = openssl_get_privatekey($priKey); //声明明文字符串变量 $result = ''; //循环按照128位解密 for($i = 0; $i < strlen($content)/128; $i++ ) { $data = substr($content, $i * 128, 128); //拆分开长度为128的字符串片段通过私钥进行解密,返回$decrypt解析后的明文 openssl_private_decrypt($data, $decrypt, $res); //明文片段拼接 $result .= $decrypt; } //释放资源 openssl_free_key($res); //返回明文 return $result;}希望本文所述对大家学习php程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#自定义RSA加密解密及RSA签名和验证类。分享给大家供大家参考。具体分析如下:这个C#类自定义RSA加密解密及RSA签名和验证,包含了RSA加
密匙使用步骤一般是:  1.私匙签名,发送签名后的数据,公匙验证。  2.公匙加密,发送加密后的数据,私匙解密。一般使用
本文实例讲述了PHP简单实现DES加密解密的方法。分享给大家供大家参考,具体如下:des加密:functiondes_encrypt($str,$key){$b
钥。公开密钥为一组用户所共享,用于加密或验证签名,私有密钥仅为证书拥有者本人所知,用于解密或签名。 数字认证证书它是以数字证书为核心的加密技术可以对网络上传输
本文实例讲述了PHP中加密解密函数与DES加密解密的应用,分享给大家供大家参考。具体如下:例子,php加密解密的例子加密函数:复制代码代码如下:/**功能:对字