프로그래밍/C#
[C#] Base64인코딩/디코딩 , Http Basic Auth
ss-pro
2022. 10. 7. 23:22
반응형
문자열을 Bas64인코딩/디코딩하는 방법에 대해 알아보겠습니다. HTTP통신시에 Basic Authentication를 사용하는 경우가 있는데 이때 HTTP Header값에 id:password값을 Base64인코딩하여 호출해야합니다.
1. C# Base64인코딩,디코딩 방법
인코딩시에는 ToBase64String 함수를 사용하고 , 디코딩시에는 FromBase64String 함수를 사용하면됩니다. 아래부분은 테스트 소스코드입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BasicAuth
{
class Program
{
static void Main(string[] args)
{
string id = "admin";
string pw = "1234";
string msg = $"{id}:{pw}";
//문자열을 Base64인코딩
string encodingMsg = Convert.ToBase64String(Encoding.Default.GetBytes(msg));
//Base64로 인코딩한값을 디코딩하여 문자열
byte[] newBytes = Convert.FromBase64String(encodingMsg);
string decodingMsg = Encoding.Default.GetString(newBytes);
Console.WriteLine($"input string : {msg}");
Console.WriteLine($"Base64 Encoding string : {encodingMsg}");
Console.WriteLine($"Base64 decoding string : {decodingMsg}");
}
}
}
|
2. 테스트 결과
admin:1234를 Base64로 인코딩한 결과값은 YWRtaW46MTIzNA== 입니다.

3. HTTP API 사용시 Header값 설정방법(Authorization)
HTTP Header값에 Authorization항목부분에 아래와 같이 인코딩한 값을 넣어서 호출하면됩니다. id값이 admin , password가 1234인경우에 표시되는 결과값입니다.
Talend API TEST프로그램에 HEADER부분에 Authorization : Basic YWRtaW46MTIzNA== 으로 호출하며 됩니다.
