데이터 암호화가 필요한 경우 LockBox 컴포넌트를 이용해 데이터를 암호화/복호화 할 수 있습니다.

 

LockBox 설치

LockBox는 엠바카데로에서 지원하는 터보팩 오픈소스 중 하나이며, 겟잇 패키지 매니저를 통해 설치하거나, 직접 다운로드 후 설치할 수 있습니다.

 

겟잇 패키지 매니저로 설치

겟잇 패키지 매니저(Tools > Getit Package Mnager..)에서 LockBox 검색 후 [Install] 버튼을 눌러 설치합니다.

lockbox_install.png

 

직접 다운로드 및 설치

겟잇 패키지 매니저를 사용할 수 없는 버전의 경우 아래 링크에서 다운로드 설치 안내에 따라 설치합니다.

https://github.com/TurboPack/LockBox3

 

LockBox 컴포넌트 활용

샘플 프로젝트

LockBox.zip

 

컴포넌트를 이용한 암복호화

lockbox_comp.png

위 2개 컴포넌트를 이용해 암/복호화 기능을 구현합니다.

 

var

  Str: string;

  EncStr: string;

  EncStr2: string;

  DecStr: string;

begin

  Codec1.Password := 'asdf';

 

  Str := Edit1.Text;

  Codec1.EncryptString(Str, EncStr, TEncoding.UTF8);

  Memo1.Lines.Add('Encrypted string = ' + EncStr);

  Edit2.Text := EncStr;

 

  Codec1.DecryptString(DecStr, EncStr, TEncoding.UTF8);

  Memo1.Lines.Add('Decrypted string=' + DecStr);

  Edit3.Text := DecStr;

end;

 

코드를 이용한 암복호화

코드를 이용한 암복호화는 다음과 같이 구현할 수 있습니다.

var

  Str, EncStr, DecStr: string;

  CryptographicLibrary: TCryptographicLibrary;

  Codec: TCodec;

begin

  CryptographicLibrary := TCryptographicLibrary.Create(nil);

  Codec := TCodec.Create(nil);

  Codec.CryptoLibrary := CryptographicLibrary;

  Codec.StreamCipherId := BlockCipher_ProgID;

 

  Codec.BlockCipherId := Blowfish_ProgId;

//  FCodec.BlockCipherId := Format(AES_ProgId, [128]);

  Codec.ChainModeId := CBC_ProgId;

  Codec.Password := 'asdf';

 

  Str := Edit1.Text;

  Codec.EncryptString(Str, EncStr, TEncoding.UTF8);

  Memo1.Lines.Add('Encrypted string = ' + EncStr);

  Edit2.Text := EncStr;

 

  Codec.DecryptString(DecStr, EncStr, TEncoding.UTF8);

  Memo1.Lines.Add('Decrypted string = ' + DecStr);

  Edit3.Text := DecStr;

end;

 

다음과 같이 다양한 암호화 종류를 사용할 수 있습니다.

lockbox_Cipher.png

 

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15450
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13964
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16501
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22057
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23268
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18924
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39260
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174727
125 N 윈도우와 맥 개발 시작을 위한 파이어몽키 코스북: 무료 다운로드 제공(385페이지) 관리자 2013.04.05 152331
124 Find the O/S Language Type c2design 2014.07.30 47785
123 [Android] 폰번호 가져오기 [1] 타락천사 2014.09.05 38543
122 델파이XE2 파이어몽키 기반 아이폰앱 개발에서 제스춰를 인식시키는 방법 박병일 2012.01.25 23256
121 RAD 스튜디오 모바일 개발 환경 설정(안드로이드, iOS) [1] file 험프리 2014.05.19 15969
120 델파이 XE2 로 아이폰 하드웨어 컨트롤 하기 박병일 2012.01.19 15504
119 파이어몽키 기반의 아이폰앱 개발에서 주소록 가져오기 박병일 2012.01.25 14431
118 델파이 XE2로 만든 아이폰 앱 - TicTacToe file 박병일 2012.01.17 13960
117 파이어몽키 3D Text Editor file 박병일 2012.02.06 13922
116 델파이 XE2의 DataSnap 서버와 OSX Client의 연동 박병일 2012.01.19 13545
115 델파이 XE2로 아이폰앱 만들기 박병일 2012.01.18 13050
114 Delphi XE2에서 맥 애플리케이션을 만들어 보자 박병일 2012.01.18 12997
113 웹상의 이미지를 폼(TImage)에서 사용하는 방법 [3] file Humphery 2013.12.14 11784
112 델파이 XE2 파이어몽키로 만든 아이폰 3D 매쉬 앱 file 박병일 2012.03.07 11632
111 파이어 몽키를 이용한 공학 계산과 그래프 박병일 2012.01.28 11429
110 파이어 몽키란 무었인가? 박병일 2012.01.19 11168
109 파이어몽키를 이용하여 당구 게임을 시뮬레이션한 데모 file 박병일 2012.02.06 10651
108 David I의 31일 동영상(한글자막) - 프로토토타입 바인드 소스와 실제 데이터셋을 사용한 UI의 C++앱 만들기(델파이 동일 적용 가능) 관리자 2013.05.11 10632
107 안드로이드 앱 서명 및 배포 file Humphery 2014.01.02 10316