亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > PHP > 正文

用PHP實(shí)現(xiàn)SHA1withRSA簽名、加密、驗(yàn)證

2020-03-22 20:26:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
網(wǎng)上看到有PHP大牛分享的PHP的簽名加密代碼,轉(zhuǎn)來(lái)和大家一起分享一下,感興趣的小伙伴來(lái)了解一下吧。

概念解釋?zhuān)?/p>

SHA1安全哈希算法主要適用于數(shù)字簽名標(biāo)準(zhǔn)里面定義的數(shù)字簽名算法。

RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的絕大多數(shù)密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。

SHA1WithRSA:用SHA算法進(jìn)行簽名,用RSA算法進(jìn)行加密。

業(yè)務(wù)要求:

每個(gè)簽名組裝的內(nèi)容是按字段名的字典順序升序排序連接的

先組裝需要簽名的內(nèi)容:

/** * 拼接需要簽名的內(nèi)容 * Author: Tao. * @param array $data 需簽名的字段內(nèi)容 * @return string html' target='_blank'>public static function getSign($data) foreach ($data as $k = $v) { $Parameters[$k] = $v; //按字典序排序參數(shù) ksort($Parameters); $sign =  foreach ($Parameters as $k = $v) { $sign .= $k . = . $v .  $sign = . rtrim($sign,  return $sign; }

簽名字符串如下示例:
amount=amount 值 ccy=ccy 值 merchantId=merchantId 值 notifyUrl=notifyUrl 值 orderId=orderId 值 payeeAcctNo=payeeAcctNo 值(明文)。

要注意的是,根據(jù)業(yè)務(wù)需要選擇,是否在簽名內(nèi)容前拼接 符。

然后生成秘鑰簽名:

/** * 秘鑰加密 * Author: Tao. * @param string $data 之前生成好的需加密內(nèi)容 * @param $key 私鑰證書(shū)位置(.pfx文件) * @param string $pwd 證書(shū)密碼 * @return string public static function SHA1withRSA($data, $key,$pwd) openssl_pkcs12_read(file_get_contents($key), $certs, $pwd);  if (!$certs) return; $signature =  openssl_sign($data, $signature, $certs[ pkey  return bin2hex($signature);  }

由于第三方公司要求轉(zhuǎn)換使用16進(jìn)制,可根據(jù)需求選擇bin2hex()或base64_encode()。

這里要注意的是,根據(jù)業(yè)務(wù)需要,簽名后的內(nèi)容是否要求大小寫(xiě)敏感。

簽名后的內(nèi)容應(yīng)該是小寫(xiě)的,可以使用strtoupper()轉(zhuǎn)換成大寫(xiě)。

以上就是給大家整理好的私鑰加密方法。

但此業(yè)務(wù)中另要求將銀行卡號(hào)需要進(jìn)行RSA公鑰加密
以下是獲取公鑰的方法:
此處是獲取對(duì)方平臺(tái)證書(shū)的公鑰(.cer文件)


/** * 獲取公鑰 * Author: Tao. * @param $path //公鑰證書(shū)位置 (.cer文件) * @return mixed * @throws /Exception public static function loadCert($path) $file = file_get_contents($path); if (!$file) { throw new /Exception( loadx509Cert::file_get_contents ERROR  $cert = chunk_split(base64_encode($file), 64, /n  $cert = -----BEGIN CERTIFICATE-----/n . $cert . -----END CERTIFICATE-----/n  $res = openssl_pkey_get_public($cert); $detail = openssl_pkey_get_details($res); openssl_free_key($res); if (!$detail) { throw new /Exception( loadX509Cert::openssl_pkey_get_details ERROR  return $detail[ key  * 公鑰加密 * Author: Tao. * @param $pubPath //公鑰證書(shū)位置 (.cer文件) * @param string $bankCode //銀行卡號(hào) * @return string public static function rsa_encode($bankCode,$pubPath) $pubkey = self::loadCert($pubPath); $encrypt_data =  openssl_public_encrypt($bankCode, $encrypt_data, $pubkey); $encrypt_data = base64_encode($encrypt_data); return $encrypt_data; }

你要問(wèn)我為什么私鑰是bin2hex(),公鑰換了base64_encode()。我也不知道為什么,問(wèn)過(guò)說(shuō)是16位,但是請(qǐng)求簽名一直失敗,換了64成功了。對(duì)方說(shuō)文檔太老了,忘記了。。根據(jù)需要選擇吧

最后回調(diào)結(jié)果驗(yàn)簽

首先先將回調(diào)數(shù)據(jù)中組裝簽名字段的內(nèi)容取出來(lái),按上面的getSign()方法排序。
然后進(jìn)行驗(yàn)證:

/** * 驗(yàn)證返回的簽名是否正確 * @param string $data 要驗(yàn)證的簽名原文 * @param string $signature 簽名內(nèi)容 *@param $pubPath 公鑰證書(shū)位置 (.cer文件) * @return bool public static function verifyRespondSign($data, $signature,$pubPath) $keys = self::loadCert($pubPath); $signature = hex2bin($signature); $ok = openssl_verify($data, $signature, $keys); if ($ok == 1) { return true; return false; }

希望對(duì)各位有幫助,有不對(duì)的地方請(qǐng)指出,及時(shí)修改,互相學(xué)習(xí)。相關(guān)教程:PHP視頻教程

以上就是用PHP實(shí)現(xiàn)SHA1withRSA簽名、加密、驗(yàn)證的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
午夜国产一区| 国产二级c片l毛片| 一区在线中文字幕| 永久av在线| 黄色永久免费网站| 99视频都是精品热在线播放| 国产视频精品在线| 亚洲精品精品亚洲| 高清成人免费视频| 青青草视频在线观看免费| 青青草成人在线| 日韩精品视频无播放器在线看| 久久久国产精品网站| 在线你懂的视频| 亚洲国产欧美日韩| 欧美 日韩 国产 成人 在线| 国产精品传媒麻豆hd| 国产精品一区二区三区视频网站| 91嫩草丨国产丨精品| 国产成人一区二区三区影院在线| 国产精品视频久久久| 性一交一乱一乱一视频| 国产精品99一区二区| 久久久久在线| 浮生影视网在线观看免费| 国产乱子伦一区二区三区国色天香| 亚洲国产天堂av| 韩国国内大量揄拍精品视频| 成人啪啪免费看| 一级视频在线播放| 91国偷自产一区二区三区观看| 原谅我中文字幕| 欧美自拍偷拍第一页| eeuss鲁片一区二区三区| 亚洲国产精品专区久久| 禁网站在线观看免费视频| 久久蜜桃资源一区二区老牛| 邪态动恶图27期gif| 在线免费看污网站| 激情图区综合网| 99久久精品国产成人一区二区| 欧美性猛交一区二区三区精品| 久久久久狠狠高潮亚洲精品| 天堂在线中文字幕| 日韩免费av网站| 国语对白永久免费| 亚洲日本精品国产第一区| 91超碰caoporn97人人| 久久免费电影网| 欧美一性一交| 欧美成人黑人猛交| 高清亚洲成在人网站天堂| 性生活三级视频| 伊人伊人av电影| 国产h视频在线观看| 2024最新电影免费在线观看| 成人春色在线观看免费网站| 久久成人麻豆午夜电影| 成人在线观看黄色| 国产日韩欧美一区二区东京热| 亚洲精品一二三四| 国产精品一区牛牛影视| 成人久久18免费网站图片| 十八禁视频网站在线观看| 肉肉视频在线观看| 色婷婷精品大视频在线蜜桃视频| 国产一区二区你懂的| 老鸭窝av在线| 99国产高清| 亚洲欧美成人| 男人添女荫道口图片| 51精品视频一区二区三区| www.久久久精品| 国产综合香蕉五月婷在线| 在线观看xxx| 久久久国产精品无码| 僵尸再翻生在线观看| 日韩女同互慰一区二区| 色呦呦呦在线观看| 奇米色一区二区三区四区| 内射后入在线观看一区| 国产chinese男男gaygay网站| 亚洲九九九在线观看| 肉色超薄丝袜脚交| 福利视频大全| 国产成人精品亚洲午夜麻豆| 久久精品五月婷婷| 午夜精品久久久久久久99樱桃| 日韩和的一区二在线| 99精品国产九九国产精品| 精品视频免费在线| 欧美国产成人精品| 久久不卡日韩美女| 亚洲成成品网站| 亚洲sss视频| 久久久久久久久网站| 亚洲成人网av| 精品人妻一区二区乱码| 成人黄动漫网站免费| 久久婷婷国产综合尤物精品| 国产高清成人久久| 中文字字幕在线中文乱码电影| 日本午夜人人精品| 国产精东传媒成人av电影| 性欧美18一19内谢| 亚洲小说图片| 精品福利av| 日韩一区二区免费视频| 欧美日韩一区二区国产| 国产成人在线视频网址| 天堂影院一区二区| 亚洲成人资源| 五月综合激情婷婷六月色窝| 久久香蕉一区| 亚洲一区二区视频在线观看| 亚洲一区二区三区777| 91麻豆产精品久久久久久| 中文字幕人妻一区| 午夜免费福利影院| 国产精品女同互慰在线看| 精品人妻无码一区二区三区| 中文字幕久热精品视频免费| 成人手机视频在线| 精品国产一区二区三区久久久蜜臀| 日韩少妇一区二区| caoporm超碰国产精品| 热99精品只有里视频最新| 岛国av一区| 欧美精品videofree1080p| 日韩欧美不卡| 一区二区三区在线观看视频| 精品国产精品一区二区夜夜嗨| 亚洲丝袜精品| 日本亚洲欧洲无免费码在线| 一区二区三区导航| 日本高清视频www| 国产美女在线观看| 亚洲av成人精品日韩在线播放| 91久久国产综合久久91精品网站| 91网站最新地址| 人人妻人人藻人人爽欧美一区| 欧美亚洲不卡| 中文字幕在线播放日韩| 一级片久久久久| 一色屋成人免费精品网站| 噜噜噜在线视频| 蜜桃av成人| 五月激情六月婷婷| 精品影院一区二区久久久| 国产精品自产拍在线网站| 日韩免费观看视频| 日韩精品一区二区久久| 亚洲娇小xxxx欧美娇小| 国产一二三四区在线| 成人不卡免费视频| 国产精品日韩精品欧美精品| 中文字幕中文字幕在线中一区高清| 欧美制服第一页| 浮妇高潮喷白浆视频| 日韩成人av一区二区| 男人草女人视频| 欧美亚洲另类小说| 久久精品一卡二卡| 一个人在线视频免费观看www| 国产香蕉精品| 日韩影院一区| 久久99精品视频一区97| 欧美性猛交xxxx免费看手交| 中文字幕成人免费视频| 日韩欧美中文字幕一区二区三区| 一区二区三国产精华液| 91精品国自产| 538国产精品一区二区在线| 先锋av资源色| 国产精品入口麻豆免费观看| 精品日韩在线一区| 亚洲在线成人| 99国产精品一区| 国产精品www网站| 亚洲免费一区| 日韩一级精品视频在线观看| 亚洲电影免费观看高清| 中文字幕亚洲一区二区av在线| 操欧美老女人| 日韩中文字幕电影| 亚洲视频一区二区三区四区| 国产精品无码一区二区桃花视频| 国产aⅴ精品一区二区三区色成熟| 四虎影视精品成人| 欧美黑吊大战白妞| 丝袜美腿高跟呻吟高潮一区| 国内精品在线视频| seerx性欧美巨大| 最新黄色av网址| 成人精品一区二区三区电影黑人| 久久久午夜精品福利内容| 一区二区中文视频| 日本а中文在线天堂| 免费黄网大全| 日日噜噜噜夜夜爽爽| 国产日产精品久久久久久婷婷| 日本福利视频导航| 日韩三级影视| 一区二区在线免费| 高清免费日韩| 久久综合伊人77777| 中文字幕中文字幕一区二区| 98精品国产高清在线xxxx天堂| 国产中文伊人| 春意影院在线| 911美女片黄在线观看游戏| 精品国产第一福利网站| 欧美顶级毛片在线播放| 国产精品video| 亚洲精品中文在线影院| 在线中文字幕播放| 芒果视频成人app| 奇米精品一区二区三区四区| 中文字幕资源网| 国产女无套免费视频| 特级毛片www| 欧美aaa级片| 亚洲欧洲在线一区| 日韩在线伦理| 国产精品 欧美 日韩| √8天堂资源地址中文在线| 99久久精品国产观看| 最新在线地址| 蜜桃av麻豆av天美av免费| 最近2019年好看中文字幕视频| 日日操天天摸| 免费人成视频在线播放| 手机看片福利在线观看| 色老头在线视频| 中文字幕一区二区三区精彩视频| 日韩一级特黄| 亚洲日本丝袜连裤袜办公室| 蜜桃av噜噜一区二区三区麻豆| aa视频在线观看| 国产成人精品777777| 91视频网址免费观看| 国产黄色大片在线观看| 欧美精品日本| www久久日com| 欧美韩国理论所午夜片917电影| 男人女人黄一级| 亚洲最新av在线网站| 精品人妻久久久久一区二区三区| 日韩你懂的在线观看| 日本中文字幕一区二区| 六月婷婷激情网| 中文字幕av影视| 国产精品国产三级国产专区51| 首页亚洲欧美制服丝腿| 在线观看免费成人av| 日韩欧美一区二区视频| a天堂中文在线观看| 999福利视频| 久久久久久成人| 欧美日韩综合在线观看| 久久久久国产精品午夜一区| 激情久久久久| 丝袜美腿一区二区三区| 九九久久精品视频| 福利片一区二区| 日本亚洲欧美天堂免费| 一区二区三区免费| 国产高清免费视频| 精品高清视频| 亚洲精品一线二线三线无人区| 成人毛片免费在线观看| 亚洲成人蜜桃| 亚洲国产精品二区| 天天操夜夜操天天射| 91丨精品丨国产| 色综合色综合色综合色综合色综合| 色吊丝av中文字幕| 亚洲成人在线| 国产真人做爰视频免费| 北岛玲一区二区三区| 国内精品女同女同一区二区三区| 日韩成人视屏| 免播放器亚洲| segui88久久综合| 国产精品无码免费专区午夜| 精品丝袜一区二区三区| 在线免费激情视频| 亚洲人成欧美中文字幕| 天堂久久一区| 亚洲精品日韩久久久| 女人被爽到呻吟gif动态图下载| 美女免费观看一区二区三区| 男女啪啪无遮挡网站| 精品免费囯产一区二区三区| 日韩av在线播放不卡| 99精产国品一二三产品香蕉| 男人天堂午夜在线| 国产成人精品999| 成人免费在线观看入口| 成年免费视频黄网站在线观看| 亚洲一区二区三区无码久久| 国产精品-色哟哟| 成人天堂av| 国产66精品久久久久999小说| 日本网站免费在线观看| 蜜臀av一区二区三区有限公司| 成年人精品视频| 天堂中文在线资源| 清纯唯美综合亚洲| 欧美成人一二三区| 亚洲色图首页| 最新国产在线视频| 国产成人aa在线观看网站站| 麻豆网站免费观看| 99这里只有久久精品视频| 亚洲区欧美区| xxx性欧美在线| 国产一区二区三区综合| 国产丝袜美腿一区二区三区| 最近免费中文字幕mv视频| 免费91麻豆精品国产自产在线观看| av免费在线不卡| 天天躁日日躁狠狠躁欧美巨大小说| 亚洲午夜久久久久久久久| 欧美激情成人| 亚洲精品国产一区二区三区四区在线| 亚洲无亚洲人成网站77777| 亚洲av无码一区二区三区dv|