我正在製作一個程序來保存我的密碼,並且我正在使用Aes加密方法來加密和解密我的文件。 現在,這裏是我的問題,我正在使用this方法來做到這一點。Byte []密鑰加密C#Aes
每次我運行它生成一個新的KEY和新IV程序,但該程序讀取這些文件,我需要有相同的密鑰和IV每一次我重新打開該程序。
他們鍵和IV存儲爲byte[]
這兩者應該是「祕密」
他們所創造的字節有時太多的編譯器閱讀,或者它只是怪胎。
有什麼辦法可以將它們設置爲常量?還是將它保存到文件更好?
我正在製作一個程序來保存我的密碼,並且我正在使用Aes加密方法來加密和解密我的文件。 現在,這裏是我的問題,我正在使用this方法來做到這一點。Byte []密鑰加密C#Aes
每次我運行它生成一個新的KEY和新IV程序,但該程序讀取這些文件,我需要有相同的密鑰和IV每一次我重新打開該程序。
他們鍵和IV存儲爲byte[]
這兩者應該是「祕密」
他們所創造的字節有時太多的編譯器閱讀,或者它只是怪胎。
有什麼辦法可以將它們設置爲常量?還是將它保存到文件更好?
他們鍵和IV存儲爲一個byte []這兩者應該是 「祕密」
不太。 IV不是祕密。 IV應該是不同的和隨機的每個東西你加密,但它可以存儲在明文。它們應該由CSPRNG生成。加密IV並不是真的有用。
每次我運行該程序會生成一個新的密鑰和新IV
你的鑰匙應該從另一個密碼的。也就是說,你的應用程序應該要求一個「主」密碼,它通過諸如PBKDF2之類的東西運行,並且它的輸出被用作你加密和解密的AES密鑰。採用這種方法,您的應用程序根本不需要存儲密鑰。
請考慮是否需要「加密」密碼。如果您使用密碼進行驗證,例如登錄,那麼使用bcrypt之類的方法對它們進行哈希處理會更好。
另外請記住這是一個很難難以對的問題。到目前爲止,你還沒有提到你的加密認證(如加密,然後Mac)等
我從來沒有見過編譯器「怪異」。我曾經看到程序員非常生氣,而且他們必須閱讀這些「非常翔實」的錯誤描述。 –