Enum Kullanımı İle Yardıma İhtiyacım Var
-
şimdi enum ile alfabeyi tanımladım,textbox ile string bir değişkene atama yaptırıp bir kelime alıyorum,daha sonra bu kelimenin uzunluğu kadar döngüyü kurup herbir karakterin alfabedeki karşılığı olan int değeri başka bir string değişkene ekleyip sonra tekrar int32ye çevirip bazı işlemler yapmam gerekiyor. herşey tamam ama o herbir karakterin alfabedeki sayı karşılığını alamıyorum,enum kullanmadım daha önce. Bunu nasıl yapabilirim?
NOT: rsa ile metin şifreleme yapmaya çalışıyorum.
-
Harflarin sayi karsiligi derken, ascii kodlarini mi diyorsun?
-
bu işlemde enum olarak ayarlamana gerek yok bence direk ascii kodları ile işlem yaptır.
Linkte rot13 yöntemi var. oldukça basittir. http://ahmetercanunal.com/1.txt
-
adam basit olmasın diyor :D
-
şöyle diyim; mesela ingiliz alfabesi 26 harf 1den 26ya kadar. şifrelenecek metin ada olursa bunun rakam karşılığını 141 olarak almalıyım.
ascii olarak alırsam 3harf için bile en az 6basamaklı bi rakam olur elimde,bunu kullanmak zor(yavaş) olur çünkü harf harf değil kelimenin tamamına uygulanacak işlemler.
-
enum değilde string bi keyword tanımlayıp onun index'inden gidersen daha iyi olur
mesela
string keys = abcde
keys[1] sana b yi verir gibi şeyler enum kullanman gereksiz olur
-
wasd bunu yazdı:
-----------------------------şöyle diyim; mesela ingiliz alfabesi 26 harf 1den 26ya kadar. şifrelenecek metin ada olursa bunun rakam karşılığını 141 olarak almalıyım.
ascii olarak alırsam 3harf için bile en az 6basamaklı bi rakam olur elimde,bunu kullanmak zor(yavaş) olur çünkü harf harf değil kelimenin tamamına uygulanacak işlemler.
-----------------------------ascii al64den çıkar
-
Nasil bir yanlis tasarim kurdun kafam almadi ama RSA zaten yeterince komplike arka tarafta, senin extra bir komplikasyon eklemene gerek yok.
öyle yapmak istiosanda daha basit yöntemler var
string karakterler="abcdefghi...."
string karsiliklar="osıhosıjglsjdflsdk"
char c='g';
c= karsilliklar[karakterler.indexof(c) ]
gibi bişeyle kolaylikla yapabilirsin fakat sezar shift dusundugun guvenligi saglayacak bişey deildir
-
UCANTENEKE bunu yazdı:
-----------------------------wasd bunu yazdı:
-----------------------------şöyle diyim; mesela ingiliz alfabesi 26 harf 1den 26ya kadar. şifrelenecek metin ada olursa bunun rakam karşılığını 141 olarak almalıyım.
ascii olarak alırsam 3harf için bile en az 6basamaklı bi rakam olur elimde,bunu kullanmak zor(yavaş) olur çünkü harf harf değil kelimenin tamamına uygulanacak işlemler.
-----------------------------ascii al64den çıkar
-----------------------------Hay kafama... :D bunu bi deniyim.
HolyOne bunu yazdı:
-----------------------------Nasil bir yanlis tasarim kurdun kafam almadi ama RSA zaten yeterince komplike arka tarafta, senin extra bir komplikasyon eklemene gerek yok.
öyle yapmak istiosanda daha basit yöntemler var
string karakterler="abcdefghi...."
string karsiliklar="osıhosıjglsjdflsdk"
char c='g';
c= karsilliklar[karakterler.indexof(c) ]
gibi bişeyle kolaylikla yapabilirsin fakat sezar shift dusundugun guvenligi saglayacak bişey deildir
-----------------------------çok karışık ya da çok aşırı güvenlik olmasına gerek yok. ödevi teslim edecek olan arkadaşım matematin son sınıf öğrencisi, programı hocaya çalışır halde gösterip rsanın çalışma mantığını sunacak,bu program sadece konu mankeni olacak :)
string harfler = "abcdefghijklmnopqrstuvwxyz";
string sayi = harfler.IndexOf("o").ToString();
Console.WriteLine(sayi);şu şekilde ufak bi deneme yaptım oldu =)
gerisi kolay şimdi girilen kelimenin tüm harflerini tek tek ele alıp çeviririm. Sonucu yazarım :)
