::: µ¨ÆÄÀÌ Tip&Trick :::

µ¨ÆÄÀÌ Tip&Trick ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±¤°í,ºñ¹æ,Áú¹®ÀÇ ±ÛÀº Áï½Ã »èÁ¦Çϸç
³»¿ëÀ» º¹»çÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹Ýµå½Ã À̰÷(http://www.howto.pe.kr)À» Ãâó·Î ¸í½ÃÇÏ¿© ÁÖ¼¼¿ä


Category

  ±è¿µ´ë(2003-03-06 20:57:36, Hit : 6468, Vote : 1554
 http://www.howto.pe.kr
 ¹®ÀÚ¿­ÀÇ ¾Ïȣȭ(Password ó¸®) & INI ÆÄÀÏ

¹®ÀÚ¿­À» ¾ÏÈ£·Î ¸¸µé°í À̸¦ ȯ°æÆÄÀÏÀÎ INIÆÄÀÏ¿¡ ÀúÀåÇÑ ÈÄ ³ªÁß¿¡
ºÒ·¯¿À´Â °æ¿ì°¡ ÀÖÀ»°Ì´Ï´Ù
¾ÏÈ£¾È¿¡ ASCII Á¦¾î¹®ÀÚ°¡ Æ÷ÇԵǾî ÀÖ´Ù¸é(CR/LF µîµî)
ÅØ½ºÆ® ÆÄÀÏÀÎ INIÆÄÀÏ¿¡ À̸¦ ÀúÀåÇϸé Á¤È®ÇÏÁö ¾ÊÀº ¾ÏÈ£°¡
µÉ ¼ö ÀÖ½À´Ï´Ù(Àß ¾Ë·ÁÁø Leap FTP °¡ ±×·¸´õ±º¿ä)
±×·¡¼­ ¾ÏÈ£¸¦ ´Ù½Ã ASCII ¼ýÀÚ·Î º¯È¯ÇÏ¿© ó¸®ÇÏ´Â ·çƾÀ»
Æ÷ÇÔÇß½À´Ï´Ù


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, IniFiles;

type
TForm1 = class(TForm)
   E_Name: TEdit;
   E_Age: TEdit;
   E_Password: TEdit;
   CB_Married: TCheckBox;
   SB_SaveINI: TSpeedButton;
   SB_LoadINI: TSpeedButton;
   procedure SB_SaveINIClick(Sender: TObject);
   procedure SB_LoadINIClick(Sender: TObject);
private
   { Private declarations }
public
   { Public declarations }
   function Encrypt(const S: String; Key: Word): String;
   function Decrypt(const S: String; Key: Word): String;
end;

const
C1 = 52845;     // ±âÁØÅ°1
C2 = 22719;     // ±âÁØÅ°2
MY_KEY = 12345; // »ç¿ëÀÚŰ

var
Form1: TForm1;

implementation
{$R *.DFM}

function TForm1.Encrypt(const S: String; Key: Word): String;
var
i: Integer;
sEncrypt, rEncrypt: String;
rChar: Char;
begin
sEncrypt := ''; // ¾ÏȣȭµÈ ÀÌÁø ¹®ÀÚ¿­
if S = '' then
begin
   Encrypt := '';
   System.Exit;
end;

for i := 1 to Length(S) do
begin
   sEncrypt := sEncrypt + char(byte(S[i]) xor (Key shr 8));
   Key := (byte(sEncrypt[i]) + Key) * C1 + C2;
end;

rEncrypt := ''; // ¾ÏȣȭµÈ ÀÌÁø ¹®ÀÚ¿­À» ASCII ¼ýÀÚ·Î º¯°æ
for i := 1 to Length(sEncrypt) do
begin
   rChar := sEncrypt[i];
   rEncrypt := rEncrypt + format('%.3d', [Ord(rChar)]); // Çѹ®ÀÚ´ç 3ÀÚ¸®¾¿
end;
Result := rEncrypt;
end;

function TForm1.Decrypt(const S: String; Key: Word): String;
var
i: Integer;
sDecrypt, rDecrypt, temp: String;
begin
rDecrypt := '';
if S = '' then
begin
   Decrypt := '';
   System.Exit;
end;

i := 1;
repeat
   temp := Copy(S, i, 3); // Çѹ®ÀÚ´ç 3ÀÚ¸® ¼ýÀÚ·Î ÀúÀåµÇ¾î ÀÖ´Ù
   rDecrypt := rDecrypt + Chr(StrToIntDef(temp, 0)); // ASCII°ªÀ» ±¸ÇÑ´Ù
   i := i + 3;
until i > Length(S);

sDecrypt := '';
for i := 1 to Length(rDecrypt) do
begin
   sDecrypt := sDecrypt + char(byte(rDecrypt[i]) xor (Key shr 8));
   Key := (byte(rDecrypt[i]) + Key) * C1 + C2;
end;
Result := sDecrypt;
end;

// ȯ°æÆÄÀÏ¿¡ ÀúÀå
procedure TForm1.SB_SaveINIClick(Sender: TObject);
var
IniFile: TIniFile;
begin
IniFile := TIniFile.Create('TEST.INI');
try
   IniFile.WriteString('PERSON', 'À̸§',    E_Name.Text);
   IniFile.WriteInteger('PERSON', '³ªÀÌ',   StrToIntDef(E_Age.Text,0));
   IniFile.WriteBool('PERSON', '°áÈ¥¿©ºÎ',  CB_Married.Checked);
   IniFile.WriteString('PERSON', 'ºñ¹Ð¹øÈ£',Encrypt(E_Password.Text, MY_KEY));
finally
   IniFile.Free;
end;
end;

// ȯ°æÆÄÀÏ¿¡¼­ ºÒ·¯¿À±â
procedure TForm1.SB_LoadINIClick(Sender: TObject);
var
IniFile: TIniFile;
begin
IniFile := TIniFile.Create('TEST.INI');
try
   E_Name.Text := IniFile.ReadString('PERSON', 'À̸§', '');
   E_Age.Text  := IntToStr(IniFile.ReadInteger('PERSON', '³ªÀÌ', 0));
   CB_Married.Checked := IniFile.ReadBool('PERSON', '°áÈ¥¿©ºÎ', False);
   E_Password.Text := Decrypt(IniFile.ReadString('PERSON', 'ºñ¹Ð¹øÈ£', ''), MY_KEY);
finally
   IniFile.Free;
end;
end;

end.






691   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListView ÀÇ Ä÷³º°·Î Sort (³»¸²Â÷¼ø Æ÷ÇÔ)  ±è¿µ´ë 2003/03/05 5463 1165
690   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸í·ÉÇà ÀÎÀÚ ¹Þ¾Æ¿À±â  ±è¿µ´ë 2003/03/05 7341 1887
689   [³×Æ®¿÷/ÀÎÅͳÝ] List of raw FTP commands  ±è¿µ´ë 2003/03/05 7292 1900
688   [³×Æ®¿÷/ÀÎÅͳÝ] RFC: Request for Comments  ±è¿µ´ë 2003/03/05 7834 2051
687   [³×Æ®¿÷/ÀÎÅͳÝ] À©µµ¿ìÁî ¼ÒÄÏÀÇ ¿¡·¯¹øÈ£¿¡ ´ëÇÑ ¼³¸í  ±è¿µ´ë 2003/03/05 7875 2716
686   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÆÄÀÏÀÇ ÇØºÎ  ±è¿µ´ë 2003/03/05 6418 1717
685   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListBoxÀÇ ½ºÅ©·Ñ¹Ù¸¦ ¿òÁ÷¿©º¸ÀÚ  ±è¿µ´ë 2003/03/05 4650 1115
684   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] PopupMenuÀÇ Æ¯Á¤ MenuItemÀ¸·Î À̵¿ÇÏ±â  ±è¿µ´ë 2003/03/05 2975 791
683   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¥½ºÅ©Å¾ÀÇ ¾ÆÀÌÄÜÀ» ¸ù¶¥ ¿òÁ÷¿©º¸ÀÚ!!  ±è¿µ´ë 2003/03/05 6457 1903
682   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸¶¿ì½ºÄ¿¼­¸¦ ƯÁ¤À§Ä¡·Î À̵¿½ÃŰ±â  ±è¿µ´ë 2003/03/05 6037 1225
681   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Á¦¾îÆÇÀÇ applet ¶ç¿ì±â  ±è¿µ´ë 2003/03/05 2912 782
680   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] INI ÆÄÀÏÀÌ ÀúÀåÀ» ¾È ÇØ?  ±è¿µ´ë 2003/03/05 4228 1124
679   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸¶¿ì½º¿µ¿ª Á¦¾îÇÏ±â  ±è¿µ´ë 2003/03/05 3747 989
678   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸®½ºÆ®ºä¿¡¼­ µ¿ÀûÀ¸·Î Ä®·³»èÁ¦ÇÏ±â  ±è¿µ´ë 2003/03/05 7001 1414
677   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Interesting Delphi Keystrokes !  ±è¿µ´ë 2003/03/05 3691 1072
676   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Application ¼öÁØ¿¡¼­ ÇѱÛ/¿µ¹® Á¦ÇÑµÎ±â  ±è¿µ´ë 2003/03/05 6112 1918
675   [µ¥ÀÌÅͺ£À̽º] dBASE Table File Extensions  ±è¿µ´ë 2003/03/05 4649 1306
674   [µ¥ÀÌÅͺ£À̽º] Paradox Table File Extensions  ±è¿µ´ë 2003/03/05 3774 1040
673   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÆÄÀÏÀÇ ¼Ó¼º(Attribute) Àбâ / ¹Ù²Ù±â  ±è¿µ´ë 2003/03/05 4095 1059
672   [µ¥ÀÌÅͺ£À̽º] DBGrid ¿¡¼­ ¼öÁ÷ Scroll Bar °¨Ãß±â  ±è¿µ´ë 2003/03/05 4706 1275
671   [À©µµ¿ìÁî API] ÀÎÅÍ³Ý ¸µÅ© ¸¸µé±â  ±è¿µ´ë 2003/03/06 4612 1283
670   [³×Æ®¿÷/ÀÎÅͳÝ] ³» PCÀÇ IPÁÖ¼Ò´Â ?  ±è¿µ´ë 2003/03/06 5388 1240
  [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¹®ÀÚ¿­ÀÇ ¾Ïȣȭ(Password ó¸®) & INI ÆÄÀÏ  ±è¿µ´ë 2003/03/06 6468 1554
668   [À©µµ¿ìÁî API] À©µµ¿ìÀÇ Å¸ÀÌÆ²¹Ù¸¦ ¾ø¾Öº¸ÀÚ!  ±è¿µ´ë 2003/03/06 4526 1364
667   [À©µµ¿ìÁî API] Ŭ¸³º¸µåÀÇ ³»¿ëÀ» TXT ÆÄÀÏ¿¡ ´ã¾Æº¸ÀÚ!  ±è¿µ´ë 2003/03/06 6575 1780
666   [½Ã½ºÅÛ] ÇÁ·Î¼¼¼­¸¦ »ý¼º½ÃÄѺ¸ÀÚ!  ±è¿µ´ë 2003/03/06 4621 1230
665   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] µ¨ÆÄÀÌÀÇ Object Inspector ¸ð¹æ  ±è¿µ´ë 2003/03/06 3699 838
664   [½Ã½ºÅÛ] ½Ã½ºÅÛÀÇ °¢Á¾ Á¤º¸  ±è¿µ´ë 2003/03/06 7610 1315
663   [µ¥ÀÌÅͺ£À̽º] DBGrid ƯÁ¤ Cell¿¡ »ö»ó³Ö±â  ±è¿µ´ë 2003/03/06 8034 1627
662   [µ¥ÀÌÅͺ£À̽º] DBGrid ÀÇ Æ¯Á¤Çʵ常 Highlighting ½ÃŰ±â  ±è¿µ´ë 2003/03/06 4792 1145
661   [COM/OLE] How to register an OCX  ±è¿µ´ë 2003/03/06 5105 1179
660   [À©µµ¿ìÁî API] "Windows Á¤º¸" About È­¸é »ç¿ëÇÏ±â  ±è¿µ´ë 2003/03/06 6546 1987
659   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¹®ÀÚ¿­¿¡ ÇѱÛÀÌ ÀÖ´ÂÁö °Ë»ç  ±è¿µ´ë 2003/03/06 3906 988
658   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TColor°ªÀ» 16Áø¼ö ¹®ÀÚ¿­·Î ¹Ù²Ù±â  ±è¿µ´ë 2003/03/06 6281 1781
657   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] È­¸éº¯°æ½Ã ÄÞÆ÷³ÍÆ® À§Ä¡¿Í Å©±â¸¦ Á¶Á¤  ±è¿µ´ë 2003/03/06 4699 1140
656   [½Ã½ºÅÛ] ¸¶¿ì½º Æ÷ÀÎÅÍ ¼Óµµ ±¸ÇÏ±â  ±è¿µ´ë 2003/03/06 5639 1724
655   [½Ã½ºÅÛ] ¸¶¿ì½º Æ÷ÀÎÅÍ ¼Óµµ ¹Ù²Ù±â  ±è¿µ´ë 2003/03/06 5108 1263
654   [½Ã½ºÅÛ] ¸¶¿ì½º ÀÚÃë(trails)ÀÇ °¹¼ö Á¶Á¤ÇÏ±â  ±è¿µ´ë 2003/03/06 6023 1847
653   [½Ã½ºÅÛ] ¸¶¿ì½º µÎ ¹ø ´©¸£±â ¼Óµµ Á¶Á¤ÇÏ±â  ±è¿µ´ë 2003/03/06 6085 1835
652   [µ¥ÀÌÅͺ£À̽º] ¼³Ä¡µÈ BDE Language Drivers ±¸ÇÏ±â  ±è¿µ´ë 2003/03/06 3512 834

[1][2][3][4][5][6][7] 8 [9][10]..[25] [´ÙÀ½ 10°³]
 

Copyright 1999-2023 Zeroboard / skin by zero