2012-06-11 367 views
0

我正在開發一個需要此類驗證的API系統。用戶將發送一個HTTP請求,其ID,數據和一個散列(數據用私鑰散列),然後在服務器中檢查散列是否與此處的相同過程相匹配。
它是否像執行必須?
我打算用公鑰作爲客戶端的id,但是生成randon數字的id的私鑰sha256的最佳方法是什麼?公鑰和私鑰API密鑰

回答

1

檢查出什麼amazon s3是做認證可能是一個良好的開端

基本上,你提出的,他們正在做同樣的事情,他們使用RFC 2104HMAC-SHA1進行散列。實施取決於您選擇的語言。

+0

哪種方法最適合您生成私鑰?謝謝 – Mario

+2

@Mario檢查這個產生隨機的東西https://www.grc.com/passwords.htm – xvatar

+0

謝謝你的鏈接 – Mario

1

這不是私鑰/公鑰密碼術。在這樣的系統中,客戶端將加密整個數據,然後您將使用您的私鑰對其進行解密。你永遠不會把你的私鑰給客戶端。

你在做什麼是請求籤名。你給一個「祕密」(你稱之爲「私鑰」),然後他們用這個來產生一個散列。你可以在服務器上檢查哈希,因爲你也知道祕密。

在這種系統中不會有公鑰。您通常使用會話密鑰或令牌來識別客戶端,因此客戶端需要首先進行身份驗證(這意味着您需要某種身份驗證方法)。本質上,你試圖實現的是OAuth。也許看看在圖書館,看看你可以直接使用它 - http://oauth.net/documentation/getting-started/