2012-08-23 37 views
1

這是一個更好的用於創建用戶帳戶密碼的API設計?在客戶端API服務器或客戶端上的哈希密碼?

哈希原密碼,然後發送到服務器:

// client code 
$p = hash($p); 
$api->save($p); 

發送原始密碼,服務器則hash服務器上:

// api server code 
$p = hash($_POST['p']); 
$db->save($p); 
+1

http://security.stackexchange.com/questions/8596/https-security-should-password-be-hashed-server-side-or-client-side你可以在這個主題中找到有用的討論。 –

回答

0

從我的觀點的觀點,最好在服務器上散列密碼,因爲你可以控制你如何加密密碼(算法等),並保持一致性。

我不認爲你想要在你可能擁有的所有客戶端中實現密碼加密邏輯,或者讓你的用戶實現自己的邏輯。哦,並使用SSL。

+0

API可以爲所有客戶端提供標準的哈希函數。 – IMB

+0

這意味着先調用API來散列密碼,然後再次調用API以發送帶有加密密碼的用戶數據? –

+0

有點像那樣。 '$ api-> hash($ p)'然後'$ api-> send($ p)'。這樣做的好處是我認爲至少密碼是在運輸過程中散列的。 – IMB

相關問題