AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);
여기서 바이트로 변환시켜주는 이유가 뭔가요??
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(passwordBytes, salt, 1000);
Rfc2898DeriveBytes함수가 KEY값이랑 IV값을 솔트값을 이용해서 랜덤값으로 변환 시켜주는 함수가 맞나요??
AES.Mode = CipherMode.CBC
CBC모드가 비밀키 암호화의 모드중 하나라고 알고있는데 맞나요?
using (var cryptostream = new CryptoStream(memorystram, AES.CreateDecryptor(), CryptoStreamMode.Write))
{
cryptostream.Write(bytesToBeDecrypted, 0, bytesToBeDecrypted.Length);
cryptostream.Close();
}
메모리 스트림을 사용하여서 크립토 스트림을 만드는데 복호화 한다음 암호화가 풀린 문자로 기존 암호화된 문자열에 덮어 씌우는게 위 코드의 역할이 맞나요??