Affine deşifre

Visual basic , Delphi , C , C++ - Affine deşifre ...

Cevapla
Affine deşifre
Dram-Like isimli Üye şimdilik offline konumundadır

Dram-Like

Webmaster

Standart

Affine deşifre

Alt 23-02-2009 #1
Sponsorlu Bağlantılar

Affine şifreleme yöntemi ile şifrelenmiş yazıyı deşifre eden program. Programda şifrelenmiş bir yazı var. 2 tane anahtar giriyorsunuz ve size çıktısını veriyor. Doğru anahtarları girerseniz orijinal yazıyı bulursunuz.
#include <stdio.h>

int main(void)
{
char a[198]={'K','Q','E','R','E','J','E','B','C','P','P','C', 'J','C','R','K','I','E','A','C','U','Z','B','K','R ','V','P','K','R',
'B','C','I','B','Q','C','A','R','B','J','C','V','F ','C','U','P',
'K','R','I','O','F','K','P','A','C','U','Z','Q','E ','P','B','K','R','X','P','E','I','I','E','A','B', 'D','K','P','B','C','P','F','C',
'D','C','C','A','F','I','E','A','B','D','K','P','B ','C','P','F','E','Q','P','K','A','Z','B','K','R',
'H','A','I','B','K','A','P','C','C','I','B','U','R ','C','C','D','K','D','C','C','J','C','I','D','F', 'U','I','X','P','A','F','F','E','R',
'B','I','C','Z','D','F','K','A','B','I','C','B','B ','E','N','E','F','C','U','P','J','C','V','K',
'A','B','P','C','Y','D','C','C','D','P','K','B','C ','O','C','P','E','R','K','I','V','K','S','C','P', 'I','C','B','R','K','I','J','P',
'K','A','B','I'},orntxt[198];

int i=0,j=0,d,b,sayi[198],orn[198],h;

for(i=0;i<198;i++)
sayi[i]=a[i]-'A'+1;

scanf("%d%d",&d,&b);

for(i=0;i<198;i++)
{
orn[i]=(sayi[i]-b);
if(orn[i]<=0)
orn[i]=orn[i]+26;
for(j=1;j<27;j++)
for(h=1;h<27;h++)
if(orn[i]*j==d*h)
{
orn[i]=(orn[i]*j)/d;
h=30;
j=30;
}
}
for(i=0;i<50;i++)
if(orn[i]>26)
orn[i]=orn[i]-26;

for(i=0;i<50;i++)
if(orn[i]<=0)
orn[i]=orn[i]+26;

for(i=0;i<198;i++)
orntxt[i]='A'+(orn[i]-1);
for(i=0;i<198;i++)
printf("%c",orntxt[i]);

printf("\n");

return 0;
}
Bu mesajdan alıntı yap
Sponsor Links

Grafikerler.net Reklamları

sevimsli isimli Üye şimdilik offline konumundadır

sevimsli

Hiç Biri / Yurtdışı

Standart
Alt 24-02-2009 #2
                             Sponsorlu Bağlantılar
Merhabalar çok güzel paylaşım yapmışsın eline sağlık ... Belliki c++ ile ilgilisin benimde bu konuda bir sıkıntım var acaba yardımcı olabilirmisin ? Şimdiden teşekkürler...

Sorunum şu ki c++ siyam ikizleri fonksiyonunu duymuşsundur ..Bende bu fonksiyonlarda problemle karşılaşıyorum ..Örneğin :

Class BaseA
{
virtual int ReadBuf (const char*);
........kodlar
};
Class BaseB
{
virtual int ReadBuf (const char*);
........kodlar
};

gibi kodları tasarladığımda BaseA ve BaseB temel fonksiyon olarak kullanıyorum ancak başka bir ilişkileri burada yok.ReadBuf() da farklı kütüphanelerden kodlar gelmektedir.Kütühaneleri bile farklı ancak Basea ile baseb den public olarak derived adında bir sınıf yazıyorum bu sınıf multimdya oyun motorlarında kullanılıyor şimdi bu motoru yenilediğimde bu yeni class yani sınıf farklı kodların işlemlerini yapmak için heriki readbuf() da devre dışı burakmalı istenildiğinde baseler çağrılmalı ama bir türlü beceremedim..Bufferlarda çok önemli bu fonksiyonda baseleri kapatabilirsem bufferları kendim hallederim , bunu nasıl yapmalıyım bana yardımcı olursan sevinirim ...
Bu mesajdan alıntı yap
Cevapla

Kapat
Şifremi Unuttum?