2014-09-24 81 views
2

因爲我在使用Laravel-PHP框架的Web應用程序中工作。它也有android和ios應用程序。在Web應用程序中,我使用Hash :: make()進行密碼管理,並使用Auth機制進行登錄嘗試。我們還有用於在網絡和移動應用程序之間交換數據的API。我們如何在android和ios平臺中使用相同的Laravel機制來加密或解密密碼憑證。Laravel用於ios/android應用程序的密碼加密/解密機制

據我所知在Laravel密碼管理做基於laravel提供的加密密鑰。那麼我們如何使用相同的加密密鑰來加密/解密。請在這個問題上幫助我。

+0

考慮使用PBKDF2,它受到大多數系統的支持,目前由NIST推薦。 Common Crypto還具有校準功能,可幫助選擇輪次數。 – zaph 2014-09-25 07:19:12

回答

1

Laravel使用BCrypt hashing package from Antony Ferrara,所以照亮\散列\ BcryptHasher,哈希的實施,將其稱爲:

$hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost)); 

而且,由於安東尼費拉拉如下的RFC,它應該是在其他平臺輕鬆reproductible。有一個iOS的庫,可能是兼容的:JFCommon,你應該能夠做到這樣說:

NSString *salt = [JFBCrypt generateSaltWithNumberOfRounds: 10]; 
NSString *hashedPassword = [JFBCrypt hashPassword: password withSalt: salt]; 

此外,檢查這篇文章:http://www.jayfuerstenberg.com/blog/bcrypt-in-objective-c

在Android上,在使用這個Java的lib人在他們的應用程序中:http://www.mindrot.org/projects/jBCrypt/,但我不確定這是否適合您的開發需求。

+0

感謝您的快速回復安東尼....任何人都有關於Android應用程序中的相同機制的想法? – 2014-09-25 05:25:27

+0

編輯爲Android提供選項。 – 2014-09-25 14:18:39