2012-09-13 137 views
11

我正在用ASP.NET MVC創建一個Web應用程序,並且我想在數據庫中存儲一些密碼。何處存儲AES密鑰?

密碼必須是可恢復的。 (他們不是爲我自己,我需要密碼來與API通信,這需要真正的密碼)所以我不能使用散列算法等。

我發現AES對我來說是一個很好的加密算法。

但問題是:在哪裏存儲AES密鑰?存儲在appsettings裏面web.config夠了嗎?如何使關鍵更難找到(黑客)?

接下來的問題:任何想法使這個系統更安全?

+0

當然,您可以用另一個密鑰加密一個密鑰,然後使用另一個關鍵廣告的噁心加密該密鑰。但是,想想你想要達到的目標是否值得,那就是限制信息的獲取。實現這一點的方法有很多,其中大部分都不是加密。 –

+0

那麼,你推薦什麼方式?將密鑰存儲在web.config中並且足夠加密web.config? –

+0

是的,這當然可以成爲你的*密鑰管理*方案的一部分(因此評論)。我只是確保你不只是在看加密機制。你去哪裏解密'web.config'的密鑰?誰有權訪問它? –

回答

3

可以加密.config文件的各個部分。 Here is the msdn documentation,但您也可以在網上找到其他演練。

+0

謝謝,但加密'web.config'有足夠的安全性嗎?如何使這個系統更安全? –