şifre

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Ahmed Sabri Biruni
Üye
Mesajlar: 21
Kayıt: 03 Oca 2009 01:15

şifre

Mesaj gönderen Ahmed Sabri Biruni »

soru:? harddsik seri numarasına bağlı şifreleme yapmak istiyorumm program başka bir bilgisayara kurulduğunda hdd numarasına işme yaptırarak (harf veya numaradan iabret oluyorlar ) örneğin numaraları 2 arttırarak veya harfleri 2 öetleyerek ekrana yazsın bana söylesin kullnıcı
bana söyelenen bu bilgiler ışığından ben de harfleri 2 azaltıp 2 berileyerek yazdırdığımdam program çalışsın . 2 ile işlwm yaptırmak kolayıma geldiğinden her tür ilme çoğaltılabilir
bu nasıl mümkün olur...
bana işin zor kısmı harf ve sayıları ayırtmak ve işlem yaptırmak bu zor geliyor??*
yardım cı olursanzı sevinirim
örnek: hdd nosu: 29AB-15ZF olsun
1. KARAKTER: 2+2=4
2. KARAKTER:9 İLERİ 2 =1
3. KARAKTER:A+2=C
4. KARAKTER:B+2=D
5. KARAKTER:- -
6. KARAKTER:1+2=3
7. KARAKTER:5+2=7
8. KARAKTER:Z+2=B
9. KARAKTER:F+2=H
program yeni bilgasayra kurulduğunda ekrana
EKRANA
41CD-37BH YAZSIN KULLANICI BİLGİSAYARINA KURDUĞUNDAN BENDE bunu çözüp kendisine hdd nıosunun düzgün bildirdiğimde program çalışsın

29AB-15ZF:hdd no
41CD-37BH:hdd 2 ile işleme girmiş

tabi bütün bunları time ile random ile süsletip şifleme sistemini daha da pekiştirmek istiyorum
yardımlarınız için şimdiden teşekkür ederiz...
işlenizde başarılar dilerim .. .
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Re: şifre

Mesaj gönderen palandoken »

Ben benzer birşey yapmıştım.Harddisk seri numarasındaki her harf ve her rakamın ascii kod karşılığını bulup bunları topluyordum.Sonra bu sonucu sabit bir sayı belirleyip bu sabit sayı ile çarpıyordum.Biraz daha sağlam olsun diye bu çıkan sonuç içinde birkaç basit matematik işlemi daha yaptırabilirsin.En son sonuç senin şifren yada programın seri nosu olur ve sadece tek ve hep aynı bilgisayarda çalışır.Farklı bir bilgisayar için farklı bir seri numarası gerekir.
Kullanıcıya sen harddisk seri numarasını program içinde gösterirsin.Kullanıcı sana bu numarayı bildirir.Sende gerekli işlemleri yaparak kullanıcıya seri nosunu -şifresini- söylersin.
Ama diyelim kullanıcı bilgisayarını değiştirdi ve programı yeni bilgisayarına kurmak istedi.Yeni bilgisayarın harddisk seri numarası farklı olacağı için kullanıcı senden yeni seri numarası -şifre-isteyecek...Bu bir çözüm ama pekte mantıklı değil bence...
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
Ahmed Sabri Biruni
Üye
Mesajlar: 21
Kayıt: 03 Oca 2009 01:15

ascii kod

Mesaj gönderen Ahmed Sabri Biruni »

yani şimdilik bu benim için yeterli ascii kod fikri için teşekkür ederim...

küçük not: dönüşümler için

caption:IntToStr(ord('B')) // 66 yazar
başka önek:
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption := IntToStr(ord('7'))+IntToStr(ord('-'))+IntToStr(ord('F'));//554570 yazar
end;
end.
yazmak ve tersi için
ansi koddan geri dönüş için

var
metin:ansistring;
begin
Metin:=Chr(65);
caption:Metin; //A yazar
bunlar üzerinden işlem yapmaya çalışıyorum ...
yine örnek kod işime çok yaradı türettiğim kodlar ekte şimdilik bu durumdayım bittiği zaman tam ekliyeceğim
tekrar teşekürler hayırlı günler

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);

begin

Edit1.Text := IntToStr(ord('7')+2)+IntToStr(ord('-')+2)+IntToStr(ord('F')+2);

end;

procedure TForm1.Button2Click(Sender: TObject);
var
Metin:Ansistring;
begin
Metin:=Chr(45)+chr(55)+chr(70);
Edit2.Text:=metin;
end;

end.
Ahmed Sabri Biruni
Üye
Mesajlar: 21
Kayıt: 03 Oca 2009 01:15

Re: şifre

Mesaj gönderen Ahmed Sabri Biruni »

adelphiforumz ye teşekkür ediyorum
beni büyük bir sorundan kurtardın ord fonksiyonu ve ascii kod dönüşümleri çok güzel anlatılmış burda istifade için ekleme ihtiyacı duydum güzel şifrelerde kullanmanız dileğiyle;;

Kod: Tümünü seç

var
s:String;
s1,s2,s3,s4,s5,s6,s7,s8,s9:Char;


begin
s:=Edit3.Text;
s1:=s[1];
s2:=s[2];
s3:=s[3];
s4:=s[4];
s5:=s[5];
s6:=s[6];
s7:=s[7];
s8:=s[8];
s9:=s[9];

ShowMessage(IntToStr(Ord(s1)) + ' - ' + Chr(Ord(s1)) + ' - ' + IntToHex(Ord(s1),1));
//edit13.Text:= IntToStr(Ord(s1));
//edit4.Text:=IntToStr(Ord(s1)+2);
edit4.Text:= Chr(Ord(s1)+2);
end;
Cevapla