Metni Sayı Olarak Şifreleme?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

arkadaşlar çok basit birşey fakat yapamadım :S :( ;

mesela kullanıcı edit'e "Selam Merhaba" yazacak butona tıklatıldığında
bu "872326972" gibi sayısal olarak şifrelenmiş gelecek...

decrypt bölümünde ise "872326972" yazıldığında "Selam Merhaba" çıkacak....

şurada önemli olan şey şu...Sayısal şifreleme olacak..sanırım ascii ile olabiliyor fakat yapamadım...

teşekkürlerimle...
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen CiTiZEN »

eğer basit birşey ise ansistring veya türevleri ile kolayca yapılır forumda çok konuşuldu
UWESIS CORPORATION
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

örnek alabilir miyim ? teşekkürlerle...
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen Battosai »

Yapamadığın şeyin basit olduğunu nasıl anladın: :) Neyse google da arama yap bir çok string şifreleme fonksiyonu ile karşılaşacaksın. Bu fonksiyonların bir çoğunda karakter tanımlanan bir değişken vardır şifreleme o karakterler ile yapılır...Sen bu tanımdaki sayısal olmayan değerleri silersen sadece rakamsal şifreleme yapmış olursun....
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

maalesef bulamadım bulduklarım hep ansistring ile ilgili.
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen Jire »

Battosai yazdı:Yapamadığın şeyin basit olduğunu nasıl anladın: :) Neyse google da arama yap bir çok string şifreleme fonksiyonu ile karşılaşacaksın. Bu fonksiyonların bir çoğunda karakter tanımlanan bir değişken vardır şifreleme o karakterler ile yapılır...Sen bu tanımdaki sayısal olmayan değerleri silersen sadece rakamsal şifreleme yapmış olursun....
düşünmek basit koda çevirmek zahmetli gelmiş olabilir :D
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

cevap yokmu arkadaşlar?
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen Battosai »

Adresteki fonksiyonlar işini görür tahminimce bir dene bakalım...codes64 sabitindeki karakterleri ayarla öyle dene....
http://www.delphitricks.com/source-code ... words.html
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

teşekkürler fakat
sildikten sonra
encode yapıyorum
"h3› ñUjUd3Ø‹í" acayip şeyler encode ediyor?
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

ayrıca şu ascii kodlarıyla da olabilir edit1 e girilen tüm kelimelerin ascii kodlarını verebilir decode edebilirim ama ;

edit1.onkeypress kısmına ;
label1.caption := IntToStr(ord(key));

yazdığımda sadece ilk kelimenin numarasını yazıyor.... tüm kelimenin nasıl alabilirim...sadece örnek olsun diye yazdım kodları teşekkürler.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen emin_as »

http://www.swissdelphicenter.ch/torry/s ... hp?id=1524

base64 e göre kodlama, işini fazlasıyla görür.
Delphinin bazı versiyonlarında base64 destegi olabilir, ama tam hatırlayamadım.
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

teşekkürler fakat ben sayısal kodlama yapmak istiyorum base64 kodlamayı yapmıştım....
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen Lost Soul »

işini görür mü biilmem ama bi ara şöyle bir şifreleme yapmıştım.

Kod: Tümünü seç

type TJustify =(JLeft,Jright,jboth);

Function EncryptString(Value: string):String;
Var
i,j: integer;
t: string;
begin
Randomize;
j:=Random(255);
t:=StrFn.FillAndFix(inttostr(j),'0',3,JRight,False);
for i := 1 to length(Value) do
  begin
  Value[i]:=chr(ord(Value[i]) xor ord (j));
  t:=t+FillAndFix(inttostr(ord(Value[i]) ),'0',3,JRight,False)
  end;
result:=t;
end;

Function DeCryptString(Value: string) : String;
Var
c: char;
t,s: String;
i:integer;
begin
t:=TrimOf( Value[1]+Value[2]+Value[3],'0',jLeft);
s:='';
for I := 3 to Length(Value) do
  if ((i mod 3)=0) and (i<Length(value)) then
    s:=s+chr(strtoint(StrFn.TrimOf((Value[i+1]+Value[i+2]+Value[i+3]),'0',jLeft)) xor strtoint(t));
result:=s;
end;

Function FillAndFix(Value :String;FillingChar:Char;CharCount:integer;Justify :TJustify;TrimOF : Boolean):String;
Begin
if (TrimOf) and (length(Value)>CharCount) then
  begin
  Value:=Copy(Value,1,CharCount);
  Result := Value;
  Exit;
  end;
  if (length(Value)>CharCount) then
    begin
    result:=Value;
    Exit;
    End;
 case Justify of
    JLeft  : Value:=Value+ stringofchar(FillingChar,CharCount-Length(Value));
    JRight : Value:=stringofchar(FillingChar,CharCount-Length(Value))+Value;
    End;
    Result:=Value;
End;
Function TrimOf(value : string;TrimChar:Char;LR:TJustify) : String;
var
i : integer;
Changed : boolean;
Begin
changed:=False;

case LR of
  JLeft:
  For i := 1 to length(Value) do
    if not Changed then
      if value[i]=TrimChar then
        value[i]:=' '
        else
        Changed:=True;
 JRight :
  For i := length(Value) downto 1 do
    if not Changed then
      if value[i]=TrimChar then
        value[i]:=' '
        else
        Changed:=True;
End; //Case
result:=trim(value);
End;

EncryptString : Şifrele
DeCryptString : Şifreyi çöz
umutcanster
Üye
Mesajlar: 153
Kayıt: 14 Tem 2008 12:28

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen umutcanster »

sayısal olarak şifreleme istiyorum şu ascii kodlarını bütünleşik alsam ama alamıyorum
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Metni Sayı Olarak Şifreleme?

Mesaj gönderen Lost Soul »

verdiğim örnekte sonuç string tipinde ama tümüyle rakamları barınırıyor.

eğer tek istediğiniz ascii kodların rakam cinsinden yanyana yazılması ise

Kod: Tümünü seç

type TJustify =(JLeft,Jright,jboth);

Function AcsiiKodlariniYanYanaEkle(Value: string):String;
Var
i: integer;
t: string;
begin
t:='';
for i := 1 to length(Value) do
  t:=t+StrFn.FillAndFix(inttostr(ord(Value[i]) ),'0',3,JRight,False)
result:=t;
end;

Function FillAndFix(Value :String;FillingChar:Char;CharCount:integer;Justify :TJustify;TrimOF : Boolean):String;
Begin
if (TrimOf) and (length(Value)>CharCount) then
  begin
  Value:=Copy(Value,1,CharCount);
  Result := Value;
  Exit;
  end;
  if (length(Value)>CharCount) then
    begin
    result:=Value;
    Exit;
    End;
 case Justify of
    JLeft  : Value:=Value+ stringofchar(FillingChar,CharCount-Length(Value));
    JRight : Value:=stringofchar(FillingChar,CharCount-Length(Value))+Value;
    End;
    Result:=Value;
End;
şeklinde kullanabilirsiniz. FillAndFix fonksiyonunu yazmamdaki amaç iki veya tek basamaklı sonuçların başına 3 basamağa tamamlayan "sıfır"lar eklemek.
Cevapla