더북(TheBook)

B.5 암호화 연습: 초간단 문자열 인코딩 및 디코딩

프로그래밍 영역에서 읽기 쉬운 문자열을 읽기 어려운 암호화된 문자열로 변경하는 것은 자주 사용하는데, 이를 위한 API와 알고리즘이 많이 있습니다. StringByte로 변경하는 것을 인코드(encode)라고 하며, 반대로 ByteString으로 변경하는 것을 디코드(decode)라고 합니다. 간단하게 Base64 방식을 사용하면 문자열을 암호화할 수 있습니다. 이번에는 문자열을 인코딩하고 디코딩하는 방법을 데모 소스로 살펴보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

초간단 문자열 인코딩과 디코딩: StringConverterDemo.cs

using System;

namespace StringConverterDemo
{
    ///<summary>
    ///문자열 변환기
    ///</summary>
    public class StringConverter
    {
        ///<summary>
        ///초간단 문자열 인코딩
        ///</summary>
        public static string ConvertToSimpleEncoding(string original)
        {
            byte[] byt = System.Text.Encoding.UTF8.GetBytes(original);
            return System.Convert.ToBase64String(byt);       //암호화
        }
        ///<summary>
        ///초간단 문자열 디코딩
        ///</summary>
        public static string ConvertToSimpleDecoding(string modified)
        {
            byte[] byt = System.Convert.FromBase64String(modified);
            return System.Text.Encoding.UTF8.GetString(byt); //복호화
        }
    }
    class StringConverterDemo
    {
        static void Main()
        {
            string s = "안녕하세요.";
            Console.WriteLine("[1] 원본 : {0}", s);

            s = StringConverter.ConvertToSimpleEncoding(s); //인코딩
            Console.WriteLine("[2] 인코딩 : {0}", s);

            s = StringConverter.ConvertToSimpleDecoding(s); //디코딩
            Console.WriteLine("[3] 디코딩 : {0}", s);
        }
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.