2
我正在使用RijndaelManaged來加密和解密數據。我可能誤解了一個初始化向量,但是我發現,如果在解密我的數據時將其設置爲不同的值,除前16個字符外的所有字符仍然可以正確解密。那是預期的行爲?是否需要初始化向量能夠解密我的數據?
我正在使用RijndaelManaged來加密和解密數據。我可能誤解了一個初始化向量,但是我發現,如果在解密我的數據時將其設置爲不同的值,除前16個字符外的所有字符仍然可以正確解密。那是預期的行爲?是否需要初始化向量能夠解密我的數據?
是的。在CBC模式下,每個密文塊被用作下一個密文塊的IV。使用錯誤的IV會擾亂前16個字節塊,但後續塊將不受影響。這可能是一個有用的屬性,因爲它允許在錯誤塊之後進行錯誤恢復,這在某些情況下很重要。它也說明了爲什麼沒有必要保持IV祕密(不像密鑰!)。