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...