본문 바로가기

C#6

c# 데이터 암복호화 막 하지 말자. 오늘은 회사에서 프로젝트를 진행하면서 사용했던 데이터 암호화에 대해 공부해보려고 합니다. 많은 블로그 글에서 데이터 암호화에 대한 주제를 가지고 많이 다루고 있습니다. 하지만 대부분의 글들은 매우 위험한 방법으로 암호화를 하고 있는데요? 이유는 암복호화 시 사용하는 키(KEY)를 프로젝트 소스에 담고 있습니다. 이는 프로젝트 소스를 난독화 하지 않는 이상 누구나 디컴파일을 통해 프로젝트를 까 보면 키를 알 수 있고 해독을 할 수 있습니다. 물론 개인이 간단하게 사용할 프로젝트나 공부에서는 해당 글들을 보고 암복호화를 진행하셔도 좋습니다. 하지만 실제로 서비스하는 프로젝트라면 절대로 있어서는 안 될 소스라는 거죠. 나더러 어쩌란 말이냐? 그럼 어떻게 키(KEY)를 프로젝트 내에 가지고 있지 않으면서 암복호.. 2021. 2. 6.
비주얼스튜디오 2015 ClickOnce 배포 필수구성요소 에러 안녕하세요:) 오늘은 비주얼 스튜디오2015에서 ClickOnce로 게시할 때 필수 구성요소가 없다면서 게시 에러가 발생하는 문제가 있었는데 이를 해결하는 방법을 공유하려고 합니다. 우선 에러 메시지 및 이미지는 아래와 같습니다. 2>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4935,5): error MSB3152: [필수 구성 요소] 대화 상자에서 '내 응용 프로그램과 동일한 위치에서 필수 구성 요소 다운로드'를 활성화하려면 'Microsoft .NET Framework 4.5(x86 및 x64)' 항목용 'DotNetFX45\dotNetFx45_Full_x86_x64.exe' 파일을 로컬 컴퓨터로 다.. 2021. 2. 5.
c# ReplaceFirst - 확장메서드로 직접 만들어서 사용해보기 c# ReplaceFirst 확장 메서드로 직접 구현하기 안녕하세요:) 오늘은 c#에서 지원하지 않는 ReplaceFirst를 확장 메서드로 직접 만들어서 사용해보도록 하겠습니다. 우선 c#에서 기본적으로 제공하는 Replace는 java에서의 ReplaceAll의 역할을 하고 있어서 아래 date 변수의 "날짜 : 2021:01:25, 시간 : 00:00:00"의 값을 Replace를 사용하여 ":" 콜론을 치환하면 결과는 > "날짜 20210125, 시간 000000" 다음과 같이 바뀌겠죠? java나 다른 언어에서는 ReplaceFirst를 기본적으로 제공하는 경우가 많습니다. 하지만 c#은 그렇지 않습니다. 하지만 확장 메서드라는 기능을 제공하고 있는데요 먼저 확장 메서드가 뭔지부터 알아보도록 하.. 2021. 1. 25.
c# 지역화 Localization c# 지역화 Localization 안녕하세요:) c#에서 많이 자주 사용하는 지역화(Localization)에 대해 알아보려고 합니다. 사용할 수 있는 곳은 무궁무진합니다. 예를 들어 "환영합니다."라는 문구를 팝업창에 띄우거나 View 페이지에 "환영합니다."라는 문구를 반복적으로 입력하거나 사용하는 페이지가 많을 때 이 문구가 길고 복잡스럽다면 엄청난 귀찮음으로 다가올 것입니다. 이때 문자열을 지역화(Localization) 해서 지정하면 이곳저곳에서 가져다 쓰기가 좋습니다. 필자도 이것을 알게 되었을 때는 정말 신세계였습니다. 본론으로 들어가시죠 우선 프로젝트 파일에서 새 항목을 추가해줍니다. 리소스 파일을 선택해주시고, 이름은 원하시는 걸로 하시면 됩니다. 열려있는 리소스 파일을 확인해보자 왼쪽.. 2021. 1. 24.