API介面認證 加密筆記

2022-05-17 15:25:12 字數 2331 閱讀 5901

api合作商key 生成秘鑰key

秘鑰是用來完成加密,解密的

api合作商key(生成秘鑰): deskey

對稱加密:加解密是同乙個金鑰,速度快,資料接收方需要公布其私鑰給資料傳輸方,安全性完全依賴於該金鑰。如aes,3des,des等,適合做大量資料或資料檔案的加解密。

非對稱加密:加密用公鑰,解密用私鑰。公鑰和私鑰是成對的(可借助工具生成,如openssl等),即用公鑰加密的資料,一定能用其對應的私鑰解密,能用私鑰解密的資料,一定是其對應的公鑰加密。對大量資料或資料檔案加解密時,效率較低。如rsa,rabin等,資料接收方需公布其公鑰給資料傳輸方,私鑰自己保留,安全性更高。

api合作商簽名(加密引數) : md5key

參考:

關鍵字: 介面驗證 秘鑰

請求方,介面提供方

請求引數是否被篡改

請求**是否合法

請求是否具有唯一性

a. 引數簽名方式

參考:

在程式設計中:乙個冪等操作的特點是: 其任意多次執行所產生的影響均與一次執行的影響相同。

aes 是一種對稱加密演算法

plaintext 明文 , chipertext 密文

_t 請求的時間,在一分鐘之內合法,超過不合法

客服端與服務端時間得統一,請求且響應的引數值也得

access_token 生成例項

應用id

應用key

providerid 1000000010

privatekey 0b1fc078-a244-4fad-becc-6255ddde5236

四.介面引數key的生成規則

1.介面引數key的生成規則如下:

呼叫介面所需要的key定義為key=md5(「userid=&providerid=&privatekey=」)

其中為要查詢或操作的id號,一般為介面的第乙個引數,如介面userlogin為使用者編號userid, 為長寬分配給呼叫方的id, 為長寬分配給呼叫方的key,id及key值參見附錄1.

2.測試案例:

key=md5(「010010000101&providerid=1000000010&privatekey=0b1fc078-a244-4fad-becc-6255ddde5236」)

key=「68abc26e8c5fe2f7a18c511522c93af9」

還可以加隨機字串來加鹽

無狀態: 請求需要引數驗證,響應也是需要引數驗證的吧,得確定引數沒有被修改

對請求的合法性進行校驗

對請求的資料進行校驗

signature 簽名,署名,訊號

timestamp 60s以內有效

_tprivate_key 秘鑰

請求和響應都需要加乙個簽名引數

設所有傳送或者接收到的資料為集合m,將集合m內非空引數值的引數按照引數名ascii碼從小到大排序(字典序),使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串stringa。

特別注意以下重要規則:

secretid:用於標識 api 呼叫者身份;

secretkey:用於加密簽名字串和伺服器端驗證簽名字串的金鑰。

值為null,簽名引數不參與簽名計算

引數值 ===null 不參與簽名,為什麼了?

響應data引數也不參與簽名

共享錢包:

md5(agentname+api key + 隨機字串) **名稱+私鑰+隨機字串

最好加上時間戳吧

sha1withrsa sha256withrsa

rsa2是在原來sha1withrsa簽名演算法的基礎上,新增了支援sha256withrsa的簽名演算法

rsa2 openssl_algo_sha256

rsa openssl_algo_sha1

if("rsa2"==$this->sign_type)else

api介面加密

在介面開發中,為了客戶請求安全,常常要對其進行加密操作 加乙個訪問token。例如你的api位址是 需要接受的引數有a,b,c三個 那麼可以加乙個驗證token 通過約定的key加密生成 例如 a 1 b 2 c 3 key abcdef t ok en s ha1 token sha1 token...

API介面安全 加密

客戶端和服務端設定乙個公共金鑰 key www.imdupeng.cn 假設介面需要 a b c三個引數 例如你的api位址是 需要接受的引數有a,b,c三個,那麼可以加乙個驗證token。例如 token sha1 a.b.c.key 然後訪問使用 api.php接收到a,b,c,token引數後...

API介面加密方式說明

本文件適用於api介面開發人員 移動端開發人員,針對移動端請求api介面時加密方式以及加密規則進行說明。好處 相對於對稱加密,非對稱加密安全性遠遠高宇對稱加密,能夠保證在資料傳輸中資料被劫持之後不被破解。缺點 由於非對稱加密 openssl rsa加密演算法 aes 加密模式 cbc 填充方式 pk...