SymmetricAlgorithm.IV 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定對稱演算法的初始化向量(IV)。
public:
virtual property cli::array <System::Byte> ^ IV { cli::array <System::Byte> ^ get(); void set(cli::array <System::Byte> ^ value); };
public virtual byte[] IV { get; set; }
member this.IV : byte[] with get, set
Public Overridable Property IV As Byte()
屬性值
初始化向量。
例外狀況
嘗試將初始化向量設為 null。
嘗試將初始化向量設為無效大小。
備註
每當你建立某個類別的新實例SymmetricAlgorithm或手動呼叫該方法時GenerateIV,這個IV屬性會自動被設定為新的隨機值。 該物業的 IV 面積必須等於該 BlockSize 物業除以8。
衍生自該 SymmetricAlgorithm 類別的類別使用一種稱為密碼區塊鏈(CBC)的鏈式模式,該模式需要金鑰與初始化向量來對資料進行密碼學轉換。 要解密使用其中一個SymmetricAlgorithm類別加密的資料,你必須將屬性和IV屬性設定Key為加密時使用的相同值。
對於給定的秘密金鑰 k,一個不使用初始化向量的簡單區塊密碼,會將相同的輸入明文區塊加密成同一輸出區塊的密文。 如果你的明文流中有重複區塊,你的密文流中也會有重複區塊。 如果未經授權的使用者知道你明文區塊的結構,他們可以利用這些資訊破解已知密文區塊,甚至可能恢復你的密鑰。 為了解決這個問題,前一個區塊的資訊會被混入下一個區塊的加密過程中。 因此,兩個相同的純文字區塊輸出會不同。 由於此技術使用前一個區塊來加密下一個區塊,因此需要初始化向量來加密第一個資料區塊。