반응형
문자열을 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== 으로 호출하며 됩니다.
'프로그래밍 > C#' 카테고리의 다른 글
[C#] 다국어 처리 방법(MultiLanguage) (0) | 2022.10.28 |
---|---|
[C#] 서비스프로그램 만들기 (0) | 2022.10.22 |
[C#] Stringbuilder vs String 사용속도측정(Stopwatch 사용) (0) | 2022.04.18 |
[C#] 문자열 포멧처리방법 (+, string.Format,$문자열보간) (1) | 2022.03.23 |
[C#] 비트연산 (AND,OR,XOR,NOT,SHIFT) (0) | 2022.02.21 |