成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一次項(xiàng)目中的驗(yàn)簽加密的一些坑(主要是數(shù)據(jù)格式問題)

xioqua / 686人閱讀

摘要:最近接手了一個(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

相關(guān)文章

  • 微信支付 一步一個(gè)APP支付!

    摘要:開發(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之類的代碼啥的(...

    DandJ 評(píng)論0 收藏0
  • 微信支付 一步一個(gè)APP支付!

    摘要:開發(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之類的代碼啥的(...

    tracymac7 評(píng)論0 收藏0
  • 回眸曾經(jīng)項(xiàng)目,與第三方支付相關(guān),所帶來溝通問題

    摘要:錢可以存儲(chǔ)在自己的余額中,這就相當(dāng)于微信錢包,余額可以提現(xiàn)到銀行卡的中。我們的第三方支付平臺(tái)是連連支付,杭州的一家公司。私鑰怎么加簽每個(gè)公司的加簽方式是不一樣的,支付寶有支付寶的加簽方式,微信有微信的加簽方式。 導(dǎo)讀 筆者在校期間,通過自學(xué)java。學(xué)校里也開過這門課,但是,講的都是一些基礎(chǔ),比如java的表達(dá)式、基本類型、自定義類型等等。也都是很基礎(chǔ)的東西,就連lambda表達(dá)式都沒...

    kaka 評(píng)論0 收藏0
  • 【大量干貨】史上最完整Tengine HTTPS原理解析、實(shí)踐與調(diào)試

    摘要:內(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...

    snowell 評(píng)論0 收藏0
  • 支付開發(fā)填記之支付寶

    摘要:原文地址支付支付步驟為獲取支付寶的配置信息。將得到的數(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支付步驟為: 獲取支付寶的...

    chanjarster 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<