AES 복호화 도중 오류 문제건에 대해 질문드립니다.

복호화 인자로 암호화된 바이트 배열로 넘어오는 데요
구글링 보면 되게 이부분이 String 이로 넘어와서 인코딩변환 하는거 같습니다.
그런데 바이트 배열에 대한 인코딩 변환이 좀처럼 검색이 안되는데요 ㅠㅠ
TransformFinalBlock( encryptedData 이 파라미터 값을 어떻게 인코딩 변환 할 수 있을까요?

public byte[] Decrypt(byte[] encryptedData, EncryptType encType, int offset = 0)

        {

            RijndaelManaged rijndaelManaged = GetRijndaelManaged(encType);

            return rijndaelManaged.CreateDecryptor()

                .TransformFinalBlock(encryptedData, offset, encryptedData.Length - offset);

        }
1개의 좋아요

정확히 의도하시는 바가 무엇인지 잘 모르겠습니다. return되는 바이트 배열을 string으로 인코딩하신다는 건가요? 아니면 string을 바이트 배열로 인코딩하신다는 건가요? 그게 아니면 다른 의미인가요?

인코딩 하려는 부분이 return 값인가요? Decrypt 메소드의 파라미터인가요? TransformFinalBlock 메소드의 인수인가요?

이전부터 다른 분들께서 계속 지적하신 사항이지만, 질문 전에 가급적 읽는 사람이 질문의 의도를 명확하게 이해할 수 있도록 질문글을 정리해 주셨으면 좋겠습니다. 계속 이렇게 맥락을 파악하기 어려운 질문을 하시면 읽는 사람이 관련 지식이 있더라도 질문자의 의도에 부합하는 게 맞는지 판단하기 어려워 답변을 꺼리게 됩니다.

본문같은 경우도 문자열 인코딩은 단순히 구글에 c# byte array to string, c# string to byte array만 검색해도 알 수 있는 건데 질문 요지가 단순한 문자열 인코딩에 대한 질문인 것인지, 해당 메소드에 뭔가 다른 기전이 있어서 오류가 발생하니 해결 방법을 구하는 질문인 것인지에 대한 판단이 제대로 서지 않습니다.

단순한 문자열 인코딩 문제면 구글링으로 인코딩 방법을 찾아보시고, 그게 아니라 다른 문제가 있는 거라면 문제 발생 과정과 오류 내용, 간단한 샘플 코드를 업로드 해주셨으면 좋겠습니다.

6개의 좋아요

암호화 / 복호화는 쌍으로 동일한 방식으로 이루어져야 하기 때문에 키 값이라던가 설정을 살펴봐야 합니다.

관련해서 GetRijndaelManaged()함수에 의해 설정 인자가 적용될 것 같고요, 간단히 암호/복호화 테스트 코드를 작성해서 테스트를 해보시면 바로 결과를 확인하실 수 있을 것 같은데, 어떤 어려움이 있으실까요?

4개의 좋아요