Merhaba,
MüzikKutusu (http://ddili.org/forum/thread/1004,3) ısınma örneğinde aşağıdaki gibi bir aşamaya gelmiştik. Aslında bu benim içimde, uhde gibi bir anlam taşıyordu. Yani görmek istiyordum farklılıkları, çözüme gitme yolunda sergilediğimiz usu (aklı). Belki insan zekasına hayran olduğum içindir...:)
Alıntı (acehreli):
>Alıntı ():
>Hatta bir gün sizlerle herhangi bir yarış/rekabet niyeti taşımayan bir şekilde problem çözmek isterdim.
Lütfen bugünden başla. :) Kesinlikle hatalı olanlar dışındakileri en azından bir süre kendime saklayacağım.
Başlıyoruz...
Amacımız şifreli bir metin oluşturmak. Bunu dosyaya kaydetip birine göndermek. Sonra ona anahtarı söylediğimizde aynı yazılım ile okumasını sağlamak. Elbette PGP'den tutun da basit bir şekilde ikiz asal sayıları kullanarak nice şeyler yapılabilir. O yüzden aşağıdaki gibi bir örnek ile yöntemi kısıtlamalıyım. Sadece XOR'u kullanarak metni şifreleyeceğiz. Bu sanırım en en klasik yöntemdir.
Çocukken Pascal'da resimleri bununla şifreliyordum ve tek bir döngü ile ekrana karman çurman şeyleri gelmesi çok hoşuma gidiyordu! Sonra aynı işlemden geçirdiğimde her şey düzeliyordu...:)
import std.stdio;
string şifresizMetin = "www.ddili.org";
uint code(uint data, uint key) {
return data ^ key;
}
void main() {
dchar[] şifreliMetin;
foreach(uint c; şifresizMetin) {
şifreliMetin ~= code(c, 0x89ABCDEF);
}
foreach(i, c; şifreliMetin) {
şifreliMetin[i] = code(c, 0x89ABCDEF);
}
şifreliMetin.writeln;
}
Evet arkadaşlar, yukarıdaki gibi şeyi 100 satırı geçmemek kaydıyla nasıl yapardınız? Ben başlıyorum ve codepad.org adresine yükleyeceğim. Böylece aynı anda paylaşıp birbirimizden kopya çekmediğimiz anlaşılacak. Herkes tarih/saati belli olan bir yere yükleyip 24 saat sonra burada paylaşalım. Evet, süremiz 24 saat ama yarış değil ve buna herkes katılabilir. Hatta çok kişi katılacaksa süreyi 1 hafta yapalım. Ne dersiniz?
Sevgiler, saygılar...
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]