簡體   English   中英

SymmetricAlgorithm密鑰和初始化向量(IV)的實現

[英]SymmetricAlgorithm Key and initialization vector (IV) implementation

我有一個使用userId並使用RijndaelManaged提供程序對其進行加密的網站。

加密此數據后,它將放入隊列。 據我了解,每個數據都應使用不同的IV值加密,並且可以公開使用。

若要解密使用SymmetricAlgorithm類之一加密的數據,必須將Key屬性和IV屬性設置為用於加密的相同值。 為了使對稱算法有用,必須僅使發送方和接收方知道秘密密鑰。

此外,還有一個Windows服務從此隊列中讀取數據並嘗試解密數據。 但是,由於隊列中的每個值都是使用不同的IV加密的,因此Windows Service如何知道要使用哪個IV?

我應該將它與加密數據一起存儲嗎?

MRibePnbXiN578TUAZcITw== - MyIVValueIsHere

還是需要采用已知方法?

是的,如果您使用AES-CBC,那正是您應該做的。 您應該為每個消息隨機生成IV(使用加密安全的隨機生成器,例如RNGCryptoServiceProvider)。 然后將IV和加密的消息一起發送。

由於AES是標准,因此也考慮使用AESCryptoServiceProvider。 AES與Rijndael相同,但具有一些固定的標准化參數。

通常做法是將IV放在加密數據之前,以便將其用於解密。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM