@@ -26,28 +26,28 @@ public class CryptoMemoryStream : MemoryStream
2626 /// </summary>
2727 /// <param name="buffer">현재 스트림을 만들 부호 없는 바이트의 배열입니다.</param>
2828 /// /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
29- public CryptoMemoryStream ( byte [ ] buffer , byte [ ] key ) : base ( buffer )
29+ public CryptoMemoryStream ( byte [ ] buffer , byte [ ] key , byte [ ] initializeVector ) : base ( buffer )
3030 {
31- InitializeCryptor ( key ) ;
31+ InitializeCryptor ( key , initializeVector ) ;
3232 }
3333
3434 /// <summary>
3535 /// 지정된 대로 초기화된 확장명 가능한 용량을 사용하고 지정된 키 값으로 암호화 되는 CryptoMemoryStream 클래스의 새 인스턴스를 초기화합니다.
3636 /// </summary>
3737 /// <param name="size">내부 배열의 초기 크기(바이트)입니다.</param>
3838 /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
39- public CryptoMemoryStream ( int size , byte [ ] key ) : base ( size )
39+ public CryptoMemoryStream ( int size , byte [ ] key , byte [ ] initializeVector ) : base ( size )
4040 {
41- InitializeCryptor ( key ) ;
41+ InitializeCryptor ( key , initializeVector ) ;
4242 }
4343
4444 /// <summary>
4545 /// 0으로 초기화된 확장명 가능한 용량을 사용하여 CryptoMemoryStream 클래스의 새 인스턴스를 초기화합니다.
4646 /// </summary>
4747 /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
48- public CryptoMemoryStream ( byte [ ] key ) : base ( )
48+ public CryptoMemoryStream ( byte [ ] key , byte [ ] initializeVector ) : base ( )
4949 {
50- InitializeCryptor ( key ) ;
50+ InitializeCryptor ( key , initializeVector ) ;
5151 }
5252
5353 /// <summary>
@@ -61,12 +61,12 @@ public static CryptoMemoryStream Create(MemoryStream baseStream, byte[] key)
6161 return new CryptoMemoryStream ( baseStream . GetBuffer ( ) , key ) ;
6262 }
6363
64- private void InitializeCryptor ( byte [ ] key )
64+ private void InitializeCryptor ( byte [ ] key , byte [ ] initializeVector )
6565 {
6666 cryptor = aesManaged . CreateEncryptor ( ) ;
6767 aesManaged . KeySize = key . Length * 8 ;
6868 aesManaged . Key = key ;
69- aesManaged . IV = key ;
69+ aesManaged . IV = initializeVector ;
7070 }
7171
7272 /// <summary>
0 commit comments