最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用md5在vue中的axios請(qǐng)求時(shí)加密API問題

 更新時(shí)間:2023年01月19日 10:12:39   作者:yw00yw  
這篇文章主要介紹了使用md5在vue中的axios請(qǐng)求時(shí)加密API問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

md5在vue中的axios請(qǐng)求時(shí)加密API

1.安裝axios

npm install axios

2.安裝MD5

npm install js-md5

3.在vue項(xiàng)目中得main.js中全局引入

import axios from 'axios';
import md5 from 'js-md5';

4.在main.js中加入以下代碼

const http = axios.create({ 	// 創(chuàng)建一個(gè)擁有通用配置的axios實(shí)例
 	timeout: 1000 * 30,	       // 請(qǐng)求超時(shí)時(shí)間(毫秒)
	withCredentials: true,	  // 是否攜帶cookie信息
	headers: {               // 頭部信息
    	'Content-Type': 'application/json; charset=utf-8'
    }
})

http.interceptors.request.use(config => { 		//添加一個(gè)請(qǐng)求攔截器
	      // 請(qǐng)求頭帶上token	在發(fā)送請(qǐng)求之前做某事
	      let time = new Date().getTime();
	      config.params['time'] = time;
	      config.headers['sign'] = md5('與后臺(tái)對(duì)應(yīng)的字符串'+time);
	      return config
    }, error => {
    	  return Promise.reject(error)
})

Vue.prototype.$axios= http;

5.在組件中運(yùn)用axios即可

this.$axios({
     method: 'POST',
     url:'項(xiàng)目的請(qǐng)求地址',
     params: params
}).then((res)=>{
    //成功的回調(diào)
    console.log(res);
},function(error){
    //失敗的回調(diào)
    console.log(error);
})

接口安全要求

  • 防偽裝攻擊(案例:在公共網(wǎng)絡(luò)環(huán)境中,第三方 有意或惡意 的調(diào)用我們的接口)
  • 防篡改攻擊(案例:在公共網(wǎng)絡(luò)環(huán)境中,請(qǐng)求頭/查詢字符串/內(nèi)容 在傳輸過程被修改)
  • 防重放攻擊(案例:在公共網(wǎng)絡(luò)環(huán)境中,請(qǐng)求被截獲,稍后被重放或多次重放)
  • 防數(shù)據(jù)信息泄漏(案例:截獲用戶登錄請(qǐng)求,截獲到賬號(hào)、密碼等)

接口參數(shù)簽名 實(shí)現(xiàn)思路參考

必要的輸入?yún)?shù):

 

簽名算法過程:

1. 對(duì)除簽名外的所有請(qǐng)求參數(shù)按key做的升序排列,value無(wú)需編碼。(假設(shè)當(dāng)前時(shí)間的時(shí)間戳是12345678)

例如:有c=3,b=2,a=1 三個(gè)參,另加上時(shí)間戳后, 按key排序后為:a=1,b=2,c=3,_timestamp=12345678。

2. 把參數(shù)名和參數(shù)值連接成字符串,得到拼裝字符:a1b2c3_timestamp12345678

3. 用申請(qǐng)到的appkey 連接到接拼裝字符串頭部和尾部,然后進(jìn)行32位MD5加密,最后將到得MD5加密摘要轉(zhuǎn)化成大寫。

示例:假設(shè)appkey=test,md5(testa1b2c3_timestamp12345678test),取得MD5摘要值 C5F3EB5D7DC2748AED89E90AF00081E6 。

MD5加密算法:MD5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。對(duì)MD5加密算法簡(jiǎn)要的敘述可以為:MD5以512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成—個(gè)128位散列值。

MD5被廣泛用于各種軟件的密碼認(rèn)證和鑰匙識(shí)別上。MD5用的是哈希函數(shù),它的典型應(yīng)用是對(duì)一段信息產(chǎn)生信息摘要,以防止被篡改。MD5的典型應(yīng)用是對(duì)一段Message產(chǎn)生fingerprin指紋,以防止被“篡改”。如果再有—個(gè)第三方的認(rèn)證機(jī)構(gòu),用MD5還可以防止文件作者的“抵賴”,這就是所謂的數(shù)字簽名應(yīng)用。MD5還廣泛用于操作系統(tǒng)的登陸認(rèn)證上,如UNIX、各類BSD系統(tǒng)登錄密碼、數(shù)字簽名等諸多方

總結(jié)

1、接口調(diào)用方和接口提供方約定好統(tǒng)一的參數(shù)加密算法

2、接口調(diào)用方在調(diào)用時(shí)把加密后的_sign放在參數(shù)中去請(qǐng)求接口

3、接口提供方接到響應(yīng)后,判斷時(shí)間戳是不是在有效時(shí)間內(nèi)(這個(gè)時(shí)間間隔根據(jù)你的安全范圍可以是10分鐘,5分鐘,20秒等,過期失效,前提是需要保證接口提供方和調(diào)用方的服務(wù)器時(shí)間為準(zhǔn)確的網(wǎng)絡(luò)同步時(shí)間)

4、把參數(shù)中除了_sign以外的參數(shù)進(jìn)行加密,然后把加密結(jié)果和傳過來(lái)的_sign比較,相同則執(zhí)行調(diào)用請(qǐng)求。

5、如果服務(wù)器和客戶端的時(shí)間沒有同步,可以返回錯(cuò)誤的同時(shí)候在返回一個(gè)服務(wù)器的當(dāng)前時(shí)間,客戶端接收到該錯(cuò)誤后再請(qǐng)求上一個(gè)接口,時(shí)間則傳服務(wù)器剛剛返回的時(shí)間

6、如果用戶還沒有登錄時(shí),還沒有token之類的唯一標(biāo)識(shí)時(shí),可以和服務(wù)端定義一個(gè)固定的標(biāo)識(shí)來(lái)使用就行。

7、涉及到比較重要的信息,可以用AES對(duì)value進(jìn)行加密,防止抓包拉取到上傳的數(shù)據(jù)。

8、追求安全可以考慮https的雙向驗(yàn)證模式 + 參數(shù)的sign簽名的規(guī)則雙重驗(yàn)證達(dá)到安全的請(qǐng)求后臺(tái)。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • axios的攔截請(qǐng)求與響應(yīng)方法

    axios的攔截請(qǐng)求與響應(yīng)方法

    今天小編就為大家分享一篇axios的攔截請(qǐng)求與響應(yīng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-08-08
  • vue實(shí)現(xiàn)右側(cè)滑出層動(dòng)畫

    vue實(shí)現(xiàn)右側(cè)滑出層動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)右側(cè)滑出層動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Vue實(shí)現(xiàn)手機(jī)號(hào)、驗(yàn)證碼登錄(60s禁用倒計(jì)時(shí))

    Vue實(shí)現(xiàn)手機(jī)號(hào)、驗(yàn)證碼登錄(60s禁用倒計(jì)時(shí))

    這篇文章主要介紹了Vue實(shí)現(xiàn)手機(jī)號(hào)、驗(yàn)證碼登錄(60s禁用倒計(jì)時(shí)),幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-12-12
  • vue結(jié)合leaflet實(shí)現(xiàn)熱力圖

    vue結(jié)合leaflet實(shí)現(xiàn)熱力圖

    本文主要介紹了vue實(shí)現(xiàn)熱力圖,結(jié)合leaflet.heat插件可以很容易的做出熱力圖,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • vue中axios的get請(qǐng)求和post請(qǐng)求的傳參方式、攔截器示例代碼

    vue中axios的get請(qǐng)求和post請(qǐng)求的傳參方式、攔截器示例代碼

    Post是向服務(wù)器提交數(shù)據(jù)的一種請(qǐng)求,get是向服務(wù)器發(fā)索取數(shù)據(jù)的一種請(qǐng)求,post在真正接受數(shù)據(jù)之前會(huì)先將請(qǐng)求頭發(fā)送給服務(wù)器進(jìn)行確認(rèn),然后才真正發(fā)送數(shù)據(jù),本文給大家介紹vue中axios的get請(qǐng)求和post請(qǐng)求的傳參方式、攔截器示例代碼,感興趣的朋友一起看看吧
    2023-10-10
  • 記一次微信小程序與webviewH5通信的踩坑記錄

    記一次微信小程序與webviewH5通信的踩坑記錄

    uniapp開發(fā)小程序的過程中主、分包有大小限制,隨著業(yè)務(wù)的增加,使用web-view加載H5的方式,往往純加載并不能滿足業(yè)務(wù)需求,這個(gè)時(shí)候就得了解小程序與H5的交互,這篇文章主要給大家介紹了關(guān)于微信小程序與webviewH5通信的踩坑記錄,需要的朋友可以參考下
    2024-07-07
  • Vue實(shí)現(xiàn)簡(jiǎn)易翻頁(yè)效果源碼分享

    Vue實(shí)現(xiàn)簡(jiǎn)易翻頁(yè)效果源碼分享

    本文給大家分享了vue實(shí)現(xiàn)簡(jiǎn)易翻頁(yè)效果,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-11-11
  • Vue中虛擬列表的原理與實(shí)現(xiàn)詳解

    Vue中虛擬列表的原理與實(shí)現(xiàn)詳解

    虛擬列表是一種技術(shù),它只渲染用戶當(dāng)前可見的列表項(xiàng),而不是渲染整個(gè)列表,這篇文章主要來(lái)和大家聊聊虛擬列表的原理與實(shí)現(xiàn),希望對(duì)大家有所幫助
    2023-05-05
  • vue項(xiàng)目調(diào)試的三種方法總結(jié)

    vue項(xiàng)目調(diào)試的三種方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于vue項(xiàng)目調(diào)試的三種方法,大家可以根據(jù)需要選擇調(diào)試方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • 詳解vue服務(wù)端渲染瀏覽器端緩存(keep-alive)

    詳解vue服務(wù)端渲染瀏覽器端緩存(keep-alive)

    在使用服務(wù)器端渲染時(shí),除了服務(wù)端的接口緩存、頁(yè)面緩存、組建緩存等,瀏覽器端也避免不了要使用緩存,減少頁(yè)面的重繪。這篇文章主要介紹了詳解vue服務(wù)端渲染瀏覽器端緩存(keep-alive),感興趣的小伙伴們可以參考一下
    2018-10-10

最新評(píng)論

砀山县| 平原县| 林芝县| 江达县| 玛多县| 巨鹿县| 临洮县| 墨脱县| 昭觉县| 祁门县| 临沧市| 阜宁县| 宝鸡市| 会昌县| 崇左市| 多伦县| 景宁| 黄石市| 大邑县| 靖宇县| 凤山市| 贵溪市| 陈巴尔虎旗| 石城县| 同江市| 荥经县| 巴楚县| 吉首市| 淅川县| 鲜城| 正阳县| 孝感市| 壤塘县| 闸北区| 裕民县| 漳浦县| 石家庄市| 昌图县| 上饶市| 伊宁县| 晋宁县|