티스토리 뷰

반응형

앱을 만들다보면 문자열을 암호화해야 하는 경우가 간혹 있습니다.

그 중에서 가장 간단한 Base64부터 AES, RSA 방법등이 있고, 세부적으로 들어가면 더 복잡합니다

 

오늘은 간단하게 Base64로 일반 텍스트를 잘 알아볼수 없도록 만들도록 하겠습니다. 이 Base64는 웹에서 많이 사용되는 것으로 이미지를 byte로 읽어서 Base64 string으로 변환하면 브라우저에서 바로 이미지를 보여줄수도 있습니다. 그래서, 이건 암호화라기 보다는 쓱봐서 알 수 없게 만드는 정도라고 보시면 됩니다.

 

콘솔 애플리케이션(.net 5)을 하나 만들고

 

using System;
using System.Linq;
using System.Text;

namespace EncryptSample
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            var firstString = args.FirstOrDefault();
            if (string.IsNullOrEmpty(firstString)) return;
            Console.WriteLine($"First : {firstString}");
            //문자열을 Byte로 변환합니다. 이때 Encoding을 사용하는데 일반적으로 UTF8을 이용합니다.
            var stringByte = Encoding.UTF8.GetBytes(firstString);
            //Byte를 Base64문자로 변환합니다.
            var firstStringBase64 = Convert.ToBase64String(stringByte);
            Console.WriteLine($"Base64 : {firstStringBase64}");
            //Base64문자를 Byte로 변환합니다.
            var secondByte = Convert.FromBase64String(firstStringBase64);
            //Byte를 다시 문자열로 변환합니다.
            var secondString = Encoding.UTF8.GetString(secondByte);
            Console.WriteLine($"Second : {secondString}");
        }
    }
}

결과

이 프로젝트는 커맨드 라인에서 암호화할 문자열을 입력 받아야 합니다~ 

encryptsample kaki104를 치면 위와 같은 결과가 나옵니다.

음.... 다음에 AES 암호화 방법에 대해서 한번 다루도록 하겠습니다.

오늘은 이만~

 

반응형
댓글