我正在學習做適當的加密實現,我認爲這是一個練習,我會創建一個加密的文本編輯器。如何在基於密碼的加密中處理salt
我的第一次嘗試使用用戶提供的密碼的SHA-512散列作爲密鑰,它的功能很好。儘管我將這個IV存儲在文件的頭文件中,但沒有受到保護,這讓我很擔心。
然後我閱讀stackoverflow,我應該使用SecretKeyFactory(我使用Java)來做PBE,現在我另外需要提供一個鹽。所以現在我也將鹽儲存在標題中,但這似乎破壞了鹽的全部用途。那麼這應該如何工作?當我保存艾麗絲時,她會爲她的文件選擇一個密碼,我是否應該說「在這裏,記住隨機數字和密碼。」?我希望生成的文件能夠通過電子郵件發送給Bob,所以鹽不能存儲在本地。
正如我的應用程序所顯示的那樣,IV和鹽都是公開的。我希望我的用戶只需在密碼保護時將他們的文件發送給Bob時知道密碼,但我找不到任何如何完成的示例。
感謝您的幫助!