摘要:最近接手了一個(gè)項(xiàng)目是一個(gè)比較完整的項(xiàng)目了我需要進(jìn)行改造是基于開發(fā)的其中有一個(gè)功能就是我們每個(gè)請(qǐng)求都要進(jìn)行一次驗(yàn)簽就是取一些字符串進(jìn)行加密并將驗(yàn)簽加入請(qǐng)求頭中后臺(tái)也用相同的算法進(jìn)行加密然后比對(duì)這個(gè)功能本身是寫好的但是有些問題我們其中的加密字段
最近接手了一個(gè)項(xiàng)目
是一個(gè)比較完整的項(xiàng)目了 我需要進(jìn)行改造 是基于vuecli3.0+webpack開發(fā)的u
其中有一個(gè)功能就是我們每個(gè)請(qǐng)求都要進(jìn)行一次驗(yàn)簽 就是取一些字符串進(jìn)行加密 并將驗(yàn)簽加入請(qǐng)求頭中 后臺(tái)也用相同的算法進(jìn)行加密 然后比對(duì)
這個(gè)功能本身是寫好的 但是有些問題
我們其中的加密字段是穿的參數(shù)按照字母排序 然后取第一個(gè)參數(shù)的前三位和最后一個(gè)參數(shù)的后三位
這都很簡(jiǎn)單用sort()方法排序一下就行
第一個(gè)問題就是
axios直接傳值的話服務(wù)端會(huì)認(rèn)為是字符串所以截取的時(shí)候會(huì)將符號(hào)也截取一般就成了{(lán)"+排序第一的參數(shù)的第一個(gè)字母和排序最后一個(gè)參數(shù)的最后一個(gè)字母 + "} 這樣明顯是有問題的 不過這個(gè)解決也簡(jiǎn)單 直接用qs這個(gè)插件處理一下就ok 這里我做了一個(gè)處理 如果requestData是類型是字符串 用
requestData.split("&").sort().join("").replace(/([^=><])=([^=><])/g,"$1$2");
進(jìn)行排序
如果是對(duì)象 用
for (var i in requestData) { dataString += `${i}${requestData[i]}&` } dataString = dataString.split("&").sort().join("")
進(jìn)行排序
這樣就解決了大部分的問題
但是昨天突然有一個(gè)模塊說驗(yàn)簽又不過了
我就很奇怪 就讓后端小哥把沒加密的串返回給我對(duì)比了一下
首先還是我上面說的截取到了符號(hào) 這個(gè)簡(jiǎn)單 qs處理一下
然后這里的問題是用qs處理過后 參數(shù)中如果帶有中文 后端接收到的其實(shí)是中文 但是qs自己會(huì)對(duì)中文進(jìn)行encodeURIComponent轉(zhuǎn)碼 這個(gè)處理也很簡(jiǎn)單 使用decodeURIComponent() 函數(shù)進(jìn)行解碼就可以
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105368.html
摘要:開發(fā)流程準(zhǔn)備完成后我們來看一下支付的大體流程商戶應(yīng)用與微信支付主要的交互說明用戶在商戶應(yīng)用移動(dòng)端中選擇商品提交訂單,支付方式選擇微信支付。商戶應(yīng)用后臺(tái)收到用戶支付訂單,調(diào)用微信支付中的統(tǒng)一下單接口。 引言 秋高氣爽,天氣轉(zhuǎn)涼,正是學(xué)習(xí)工作做的好時(shí)候。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是個(gè)phper最近在寫微信支付(APP支付),微信給的官方文檔并不是很詳細(xì)也沒有dome之類的代碼啥的(...
摘要:開發(fā)流程準(zhǔn)備完成后我們來看一下支付的大體流程商戶應(yīng)用與微信支付主要的交互說明用戶在商戶應(yīng)用移動(dòng)端中選擇商品提交訂單,支付方式選擇微信支付。商戶應(yīng)用后臺(tái)收到用戶支付訂單,調(diào)用微信支付中的統(tǒng)一下單接口。 引言 秋高氣爽,天氣轉(zhuǎn)涼,正是學(xué)習(xí)工作做的好時(shí)候。(~ ̄▽ ̄)~~(~ ̄▽ ̄)~ 我是個(gè)phper最近在寫微信支付(APP支付),微信給的官方文檔并不是很詳細(xì)也沒有dome之類的代碼啥的(...
摘要:錢可以存儲(chǔ)在自己的余額中,這就相當(dāng)于微信錢包,余額可以提現(xiàn)到銀行卡的中。我們的第三方支付平臺(tái)是連連支付,杭州的一家公司。私鑰怎么加簽每個(gè)公司的加簽方式是不一樣的,支付寶有支付寶的加簽方式,微信有微信的加簽方式。 導(dǎo)讀 筆者在校期間,通過自學(xué)java。學(xué)校里也開過這門課,但是,講的都是一些基礎(chǔ),比如java的表達(dá)式、基本類型、自定義類型等等。也都是很基礎(chǔ)的東西,就連lambda表達(dá)式都沒...
摘要:內(nèi)容主要有四個(gè)方面趨勢(shì)基礎(chǔ)實(shí)踐調(diào)試。一趨勢(shì)這一章節(jié)主要介紹近幾年和未來的趨勢(shì),包括兩大瀏覽器和對(duì)的態(tài)度,以及淘寶天貓和阿里云的實(shí)踐情況。完整性是指為了避免網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)被非法篡改,使用算法來保證消息的完整性。 摘要: 本文邀請(qǐng)阿里云CDN HTTPS技術(shù)專家金九,分享Tengine的一些HTTPS實(shí)踐經(jīng)驗(yàn)。內(nèi)容主要有四個(gè)方面:HTTPS趨勢(shì)、HTTPS基礎(chǔ)、HTTPS實(shí)踐、HTTPS...
摘要:原文地址支付支付步驟為獲取支付寶的配置信息。將得到的數(shù)據(jù)請(qǐng)求支付寶客戶端進(jìn)行支付。端將拼接好的字符串拿去請(qǐng)求支付寶客戶端即可調(diào)起支付寶進(jìn)行支付。向支付寶申請(qǐng)新訂單,獲取支付。成功請(qǐng)求回來后,就可以向支付寶發(fā)出一次支付請(qǐng)求。 支付寶在所有支付方式中最好開發(fā)的了,因?yàn)槲臋n比較清晰,而且開發(fā)起來也比較簡(jiǎn)單。因此,支付寶的坑是相對(duì)較少的。原文地址 APP支付 APP支付步驟為: 獲取支付寶的...
閱讀 3219·2021-11-17 09:33
閱讀 3299·2021-11-15 11:37
閱讀 2966·2021-10-19 11:47
閱讀 3215·2019-08-29 15:32
閱讀 1019·2019-08-29 15:27
閱讀 1539·2019-08-29 13:15
閱讀 943·2019-08-29 12:47
閱讀 2036·2019-08-29 11:30