C#.NET Q&A

복호화 관련 질문입니다ㅠㅠ 방랑이z 평점: 없음 조회: 226

App.config에 있는 패스워드를 받아와서 암호화된 Password를 복호화 시키려고 합니다.
근데 자꾸 복호화 패딩이 잘못되었으며 삭제할수없습니다. 라고 오류가 뜹니다.
몇시간째 이것만 붙잡고 있는데 해결방안이 보이지를 않네요
암호화된 Password가 정상적으로 들어온건 확인을 했는데

//복호화 시작
int DecryptedCount = cryptoStream.Read(PlainText, 0, PlainText.Length); 

이 부분에서 자꾸 에러가 납니다 . 혹시 아시는분 계신가요?ㅠㅠ

      //AES_256 복호화
        public static String AESDecrypt256(String InputText)
        {
            string Password = InputText;
            RijndaelManaged RijndaelCipher = new RijndaelManaged();
            byte[] EncryptedData = Convert.FromBase64String(InputText);
            byte[] Salt = Encoding.ASCII.GetBytes(Password.Length.ToString());
            PasswordDeriveBytes SecretKey = new PasswordDeriveBytes(Password, Salt);
 
            // Decryptor 객체를 만든다.
            ICryptoTransform Decryptor = RijndaelCipher.CreateDecryptor(SecretKey.GetBytes(32), SecretKey.GetBytes(16));
            MemoryStream memoryStream = new MemoryStream(EncryptedData);
 
 
            CryptoStream cryptoStream = new CryptoStream(memoryStream, Decryptor, CryptoStreamMode.Read);
 
            // 복호화된 데이터를 담을 바이트 배열을 선언한다.
            // 길이는 알 수 없지만, 일단 복호화되기 전의 데이터의 길이보다는
            // 길지 않을 것이기 때문에 그 길이로 선언한다.
 
            byte[] PlainText = new byte[EncryptedData.Length];
 
 
            //복호화 시작
            int DecryptedCount = cryptoStream.Read(PlainText, 0, PlainText.Length);
 
            memoryStream.Close();
            cryptoStream.Close();
 
            // 복호화된 데이터를 문자열로 바꾼다.
            string DecryptedData = Encoding.Unicode.GetString(PlainText, 0, DecryptedCount);
 
            //최종 결과 리턴
            return DecryptedData;
        }
 
태그 : 복호화 암호화, C#질문,
작성자 정보
방랑이z
Level 13
 [EXP.38/40]

메일:  비공개
글등록 +12 132 덧글등록 +3 48
자기소개
안녕하세요 완전초보 c#개발자입니다
글 공유하기 |
  tweet facebook
2018-07-05 오후 5:57:25
나도한마디
사용자
롬메달            [2018-07-06]
Level 51
 [EXP.165/250]
인자로 string plainText를 받아와서...

RijndaelManaged aes = new RijndaelManaged();
aes.KeySize = 256;
aes.BlockSize = 128;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
aes.Key = AESKEY; //
aes.IV = AESIV; //

var decrypt = aes.CreateDecryptor();
byte[] xBuff = null;

using (var ms = new MemoryStream())
{
using (var cs = new CryptoStream(ms, decrypt, CryptoStreamMode.Write))
{
byte[] xXml = Convert.FromBase64String(plainText);

cs.Write(xXml, 0, xXml.Length);
}

xBuff = ms.ToArray();
}

return Encoding.UTF8.GetString(xBuff);


이렇게 변경해서 써보세요

사용자
방랑이z            [2018-07-06]
Level 13
 [EXP.38/40]
답글 달아주신 방법으로는 안했지만
에러사항은 해결했습니다!!
답글 감사드립니다!! ㅠㅠ
태그로 엮인글
[C#.NET Q&A] 아이디 생성시 지정된 특수문자 [1]  방랑이z
[C#.NET Q&A] Math.Round 궁금한점이 있습니다.[1]+1  방랑이z
[C#.NET Q&A] 윈폼에 대해 질문있습니다..[3]+3  이재춘이
[C#.NET Q&A] c# 프로젝트 전체폰트변경 파일첨부 ninanio5
[C#.NET Q&A] foreach 구문의 표현식에 대해 질문있습니다.[3]+5  C+
[C#.NET Q&A] 파일 AES-256 암/복호화 관련해 질문 드립니다.  Begin
[C#.NET Q&A] 윈폼으로 파일 암호화후 복호화 실행하는것 만드는 도중 프로세스 참조 문제가 생겻습니다   두들기기
[WPF Q&A] 자식 윈도우를 부모 윈도우 왼쪽에 띄우는 방법이 궁금합니다.[2]+5 파일첨부 고듀마
[C#.NET Q&A] c# AES256 decrypt(복호화)-OpenSSL 관련 질문입니다...ㅠ  궁금해욥
[C#.NET Q&A] 사용자 컨트롤 속성 질문 드립니다.  개인간
글리스트
c# 윈폼에서 마우스 커서를 고정하고 싶습니다.[1]  뭘이
[질문]MDI 자식창 show( ) 시 FormBoardStyle 이 일시적으로 변경되어 보이는 문제[1]  윤구슬
Attribute와 Annotation의 차이[1]  Suspender
DEVEXPRESS 스케쥴러 컨트롤에 대해서 질문이 있습니다.  하품하고파
wpf 디자이너 안보임 문제[2]+1 파일첨부 Tube
윈폼 질문드립니다.[2]+2  키모
C# 엑셀 xlsm 파일 읽기 질문드립니다.[1]  리카이
웹에서 json형태로 넘기고 이값을 받는 방법[1]  민성
dictionary와 Idictionary의 차이??[2]+2  Tube
List<string> 에서 BinarySearch() 결과값이 이상합니다.[3]+3  insurang
 ★현재글->   복호화 관련 질문입니다ㅠㅠ[1]+1  방랑이z
label.Content 첫째줄에 언더바 표시가 안나와요.[1]+1  insurang
스케쥴러 컨트롤에 대해서 질문이 있습니다.[1]  하품하고파
보류중인 연결 큐의 최대 길이가 뭔가요?[1]  키모
datagridview 데이터 excel export 질문드려요  제스
그림판 만드는 중인데 사각형을 그릴 때 미리보기가 안됩니다[3]  메론빵맨
VisualStudio2008(c#) 윈도우 미디어 플레이어 관련 문의 드립니다.[1]  삼진연립
완전 기초적인 트레이만들기 여쭤봅니다 C#입니당!![1]+5  키쿄쿄쿄키쿗
DLL에서 ini 파일을 참조할 수 있나요?[1]  수원프로그래머
MSSQL + C# 연동후 UPDATE문 한번 봐주세요.[1] 파일첨부 이훈
textbox에 대해 질문있습니다.  프롸우나