Aes
不用密碼加密,只用密碼解密
我正在嘗試實現密碼管理器,我想實現這種行為。
- 使用者輸入一次主密碼(例如,當程序第一次執行時)並派生並儲存某種密鑰/散列(無法從中恢復原始密碼)
- 然後,使用者可以選擇將數據儲存在密碼庫中,例如。
store --id=myid --data=datatoencrypt
. 此數據使用 AES 加密,無需使用步驟 1 中儲存的密鑰提示輸入密碼此時儲存的加密數據沒有原始密碼無法恢復,但可以添加新數據而無需原始密碼
store get --id=myid Please enter your password: ******* The data is: datatoencrypt
我希望這是有道理的。關於如何實現這一目標的任何指示?(我猜是非對稱和對稱加密的組合
這難道不是通常的非對稱加密,就好像您正在使用 GnuPG 加密電子郵件一樣?
創建一個私鑰,將其儲存為密碼保護(這是您的主密碼)。您需要保存的任何內容,使用相應的公鑰加密(無需密碼)。但只有私鑰可以解密您的數據項,您需要輸入密碼才能使用它。