我有一個桌面應用程序,其中用戶有一個加密的ZIP文件庫。配置文件保存主密碼以解密這些ZIP。這個想法是,用戶輸入他們在安裝應用程序以打開程序時選擇的程序密碼,並且該密碼用於解密存儲在配置文件中的主密碼。使用密碼的VB.NET加密
所有這些安全性的要點在於,即使有人訪問了硬盤和用戶的Windows帳戶,但他們仍然無法在沒有密碼的情況下進入ZIP文件,理想情況下,。
爲了驗證程序的密碼在我使用C#哈希代碼從這裏(轉換爲VB)輸入的用戶(在頁面的底部):
http://crackstation.net/hashing-security.htm
到目前爲止好。我們只存儲程序密碼的哈希值,所以黑客無法通過查看配置文件來讀取它。
現在,我想實現加密,發現這裏:
http://msdn.microsoft.com/en-us/library/yx129kfs.aspx
實際問題:
所以這些被存儲在配置文件中,以純文本以下用於在運行時使用用戶輸入的程序密碼解密ZIP主密碼?
用於生成加密密鑰的鹽(這可以是相同的 用於散列的口令與上述鹽?)
初始化向量(IV)?
加密密鑰? (可能不是......)(MS中的k1爲例)
解密密鑰? (在MS的例子K2)
在MS的例子,他們已經得到了加密和解密都混亂了起來......我已經得到了很多件,但我不知道如何把他們一起...
更新
我讀過的AES加密比Triple DES加密MS在其上面的例子使用更安全。看到我們在zip文件上使用AES,對ZIP文件密碼使用AES也是很好的選擇。
所以,我怎麼能結合這個AES例如:
隨着PBKDF2生成加密密鑰?
回覆:更新:你有什麼麻煩? PBKDF給你一個字節數組。 – SLaks