Şimdi Ara

Asal Sayıları Kullanarak Mesaj Şifreleme ve Çözme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
267
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Kod

    Yığını:
    import java.util.*; public class Encryption { public static void main(String[] args) { Scanner input = new Scanner(System.in); String text = input.nextLine(); System.out.println(textEncryption(text)); } public static String textEncryption(String text) { int[] primeArray=new int[text.length()]; primeNumbers(primeArray); StringBuilder newText = new StringBuilder(); int character; for(int a=0;a<text.length();a++){ character=text.charAt(a); if(character==32) newText.append((char) character); else if(character>=33 && character<=64){ newText.append((char) (((character)+primeArray[a])%32+65)); } else if(character>=65 && character<=96){ newText.append((char) (((character)+primeArray[a])%32+33)); } else newText.append((char) (((character)+primeArray[a])%26+97)); } return newText.toString(); } public static void primeNumbers(int[] array) { boolean prime=true; array[0]=2; int ordinaryNumber=3, numberOfElements=1; for(int a=1;a<array.length;){ prime=true; for(int b=0;b<numberOfElements;b++) { if (ordinaryNumber % array[b]==0){ prime=false; break; } } if(prime) { array[a]=ordinaryNumber; numberOfElements++; a++; } ordinaryNumber++; } } }

    https://onecompiler.com/java/3wpb42p7p




    Kod

    Yığını:
    import java.util.*; public class Decryption { public static void main(String[] args) { Scanner input = new Scanner(System.in); String text = input.nextLine(); solution(text); } public static void solution(String text) { int[] primeArray=new int[text.length()]; primeNumbers(primeArray); StringBuilder newText = new StringBuilder(); int character; for(int a=0;a<text.length();a++){ character=text.charAt(a); if(character==32) newText.append( (char) 32 ); else if(character>=33 && character<=64){ character -= 65; character -= primeArray[a] % 32; while (character < 65) character += 32; newText.append( (char) character ); } else if(character>=65 && character<=96){ character -= 33; character -= primeArray[a] % 32; while (character < 33) character += 32; newText.append( (char) character ); } else { character -= 97; character -= primeArray[a] % 26; while (character < 97) character += 26; newText.append( (char) character ); } } System.out.println(newText.toString()); } public static void primeNumbers(int[] array) { boolean prime=true; array[0]=2; int ordinaryNumber=3, numberOfElements=1; for(int a=1;a<array.length;){ prime=true; for(int b=0;b<numberOfElements;b++) { if (ordinaryNumber % array[b]==0){ prime=false; break; } } if(prime) { array[a]=ordinaryNumber; numberOfElements++; a++; } ordinaryNumber++; } } }

    https://onecompiler.com/java/3wpb42p7p



    Asal Sayıları Kullanarak Mesaj Şifreleme ve Çözme
    Asal Sayıları Kullanarak Mesaj Şifreleme ve Çözme







  • Dostum java pratiği için güzel bir uygulama olmuş ama şifreleme tekniği olarak 2000 senelik sezar tekniğinden bir farkı yok malesef.


    https://en.wikipedia.org/wiki/Caesar_cipher


    Asal sayıların gerçekten kullanıldığı bir şifreleme yöntemi istiyorsan RSA yi incele.


    https://en.wikipedia.org/wiki/RSA_(cryptosystem)


    Yine de eline sağlık Asal Sayıları Kullanarak Mesaj Şifreleme ve Çözme 





  • Teşekkürler Asal Sayıları Kullanarak Mesaj Şifreleme ve Çözme 

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.