@@ -16,7 +16,7 @@ public class CryptoMemoryStream : MemoryStream
1616 {
1717 private ICryptoTransform cryptor ;
1818
19- private AesCryptoServiceProvider aesManaged = new AesCryptoServiceProvider
19+ private readonly AesCryptoServiceProvider aesManaged = new AesCryptoServiceProvider
2020 {
2121 Padding = PaddingMode . None ,
2222 Mode = CipherMode . ECB
@@ -26,7 +26,8 @@ public class CryptoMemoryStream : MemoryStream
2626 /// 지정된 바이트 배열을 기반으로 하는 CryptoMemoryStream 클래스의 크기 조정이 불가능한 새 인스턴스를 초기화합니다.
2727 /// </summary>
2828 /// <param name="buffer">현재 스트림을 만들 부호 없는 바이트의 배열입니다.</param>
29- /// /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
29+ /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
30+ /// <param name="initializeVector">암호화 및 복호화에 사용될 초기화 벡터입니다.</param>
3031 public CryptoMemoryStream ( byte [ ] buffer , byte [ ] key , byte [ ] initializeVector ) : base ( buffer )
3132 {
3233 InitializeCryptor ( key , initializeVector ) ;
@@ -37,6 +38,7 @@ public CryptoMemoryStream(byte[] buffer, byte[] key, byte[] initializeVector) :
3738 /// </summary>
3839 /// <param name="size">내부 배열의 초기 크기(바이트)입니다.</param>
3940 /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
41+ /// <param name="initializeVector">암호화 및 복호화에 사용될 초기화 벡터입니다.</param>
4042 public CryptoMemoryStream ( int size , byte [ ] key , byte [ ] initializeVector ) : base ( size )
4143 {
4244 InitializeCryptor ( key , initializeVector ) ;
@@ -46,6 +48,7 @@ public CryptoMemoryStream(int size, byte[] key, byte[] initializeVector) : base(
4648 /// 0으로 초기화된 확장명 가능한 용량을 사용하여 CryptoMemoryStream 클래스의 새 인스턴스를 초기화합니다.
4749 /// </summary>
4850 /// <param name="key">암호화 및 복호화에 사용되는 키 값입니다.</param>
51+ /// <param name="initializeVector">암호화 및 복호화에 사용될 초기화 벡터입니다.</param>
4952 public CryptoMemoryStream ( byte [ ] key , byte [ ] initializeVector ) : base ( )
5053 {
5154 InitializeCryptor ( key , initializeVector ) ;
@@ -137,8 +140,6 @@ public override void Close()
137140 base . Close ( ) ;
138141 }
139142
140-
141-
142143 private void CTRCryptor ( byte [ ] buffer , int count )
143144 {
144145 Queue < byte > xorMask = new Queue < byte > ( ) ;
@@ -166,13 +167,21 @@ private void CTRCryptor(byte[] buffer, int count)
166167 }
167168 }
168169
170+ /// <summary>
171+ /// CryptoMemoryStream 에 사용되는 관리되지 않는 리소스를 제거하고, 필요에 따라 관리되는 리소스를 해제합니다.
172+ /// </summary>
173+ /// <param name="disposing"></param>
169174 protected override void Dispose ( bool disposing )
170175 {
171176 base . Dispose ( disposing ) ;
172177 aesManaged . Dispose ( ) ;
173178 cryptor . Dispose ( ) ;
174179 }
175180
181+ /// <summary>
182+ /// 현재 위치에서 현재 스트림에 바이트를 암호화 하여 씁니다.
183+ /// </summary>
184+ /// <param name="value"></param>
176185 public override void WriteByte ( byte value )
177186 {
178187 Write ( new byte [ ] { value } , 0 , 1 ) ;
0 commit comments