الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب صغير لو سمحتم استفسار في لغة الجافا

بدأه hatem elbuhaisi في 10 مارس 2012 · 2 رد · 320 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

طلب صغير لو سمحتم استفسار في لغة الجافا

السلام عليكم ورحمه الله وبركاته

اخواني انا سويت برنامج عبارة عن تفشير الكلمات

بطريفة الازاحة

طريقة الحماية المعروفة

البرنامج عبارة عن

اول شي تضع الكلمة الي تبي تشفرها

وبعدين تضيف عدد مقدار الازاحة للحرف

مثلا 2 او 3

مثال اذا اخترنا الكلمة الي نشرفها ad

والازاحة 2

ترتيب الاحرف كذا

a b c d e f g k

تشفير ad بمقدار ازاحة 2 هي

cf

المطلوب

اولا اريد اضافة في البرنامج انو كيف افك تشفير الكلمة

يعني مثال

اضيف الكلمة المشفرة

ومقدار الازاحة

ويرجعها للكلمة الاصلية

انتظركم

/* 
 * To change this template, choose Tools | Templates 
 * and open the template in the editor. 
 */ 

/** 
 * 
 * @author Administrator 
 */ 
import javax.swing.*; 

class Cipher { 

    private String inputString; 
    private int intOffset; 

    public Cipher() { 

        inputString = null; 

        intOffset = 0; 

    } 

    public static void main(String[] args) { 


        Cipher c2 = new Cipher(); 

        String tmp = c2.encrypt(); 

        System.out.println(tmp); //System.out.println( decrypt( tmp ) ); 

        System.exit(0); 

    } 

    public String encrypt() { 

        inputString = ((String) JOptionPane.showInputDialog("Enter the message you wish to encrypt")).toLowerCase().trim(); 
        System.out.println(inputString); 
        intOffset = Integer.parseInt(JOptionPane.showInputDialog("Enter Key")); 
        String ALPHABET = "abcdefghijklmnopqrstuvwxyz"; 


        StringBuffer sb = new StringBuffer(); 

        int holder = inputString.length(); 

        for (int i = 0; i < holder; i++) { 

            String tmp = "" + inputString.charAt(i); 
            int offset = ALPHABET.indexOf(tmp); 
            offset += intOffset; 
            if (offset > 25) { 
                int newOffset = 0; 
                newOffset = offset % 25; 
                sb.append(ALPHABET.charAt(newOffset)); 
            } else { 
                sb.append(ALPHABET.charAt(offset)); 
            } 
        }//forloop 
        return sb.toString(); 
    } 
}//class
#2

يمكنك فك التشفير بالرجوع إلى الوراء بواسطة مقدار الإزاحة

/* 
 * To change this template, choose Tools | Templates 
 * and open the template in the editor. 
 */ 

/** 
 * 
 * @author Administrator 
 */ 
import javax.swing.*; 

public class Cipher { 

	private String inputString; 
	private int intOffset; 

	public Cipher() { 

    	inputString = null; 
    	intOffset = 0; 

	} 

	public static void main(String[] args) { 


    	Cipher c2 = new Cipher(); 
    	String tmp = c2.encrypt(); 
    	System.out.println(tmp); //System.out.println( decrypt( tmp ) ); 
    	tmp = c2.decrypt();
    	System.out.println(tmp);
    	System.exit(0); 

	} 

	public String encrypt() { 

    	inputString = ((String) JOptionPane.showInputDialog("Enter the message you wish to encrypt")).toLowerCase().trim(); 
    	System.out.println(inputString); 
    	intOffset = Integer.parseInt(JOptionPane.showInputDialog("Enter Key")); 
    	String ALPHABET = "abcdefghijklmnopqrstuvwxyz"; 


    	StringBuffer sb = new StringBuffer(); 

    	int holder = inputString.length(); 

    	for (int i = 0; i < holder; i++) { 

        	String tmp = "" + inputString.charAt(i); 
        	int offset = ALPHABET.indexOf(tmp); 
        	offset += intOffset; 
        	if (offset > 25) { 
            	int newOffset = 0; 
            	newOffset = offset % 25; 
            	sb.append(ALPHABET.charAt(newOffset)); 
        	} else { 
            	sb.append(ALPHABET.charAt(offset)); 
        	} 
    	}//forloop 
    	return sb.toString(); 
	} 
   public String decrypt() { 

    	inputString = ((String) JOptionPane.showInputDialog("Enter the message you wish to decrypt")).toLowerCase().trim(); 
    	System.out.println(inputString); 
    	intOffset = Integer.parseInt(JOptionPane.showInputDialog("Enter Key")); 
    	String ALPHABET = "abcdefghijklmnopqrstuvwxyz"; 


    	StringBuffer sb = new StringBuffer(); 

    	int holder = inputString.length(); 

    	for (int i = 0; i < holder; i++) { 

        	String tmp = "" + inputString.charAt(i); 
        	int offset = ALPHABET.indexOf(tmp); 
        	offset -= intOffset; 
        	if (offset < 0) { 
            	int newOffset = 25; 
            	newOffset = offset % 25; 
            	sb.append(ALPHABET.charAt(newOffset)); 
        	} else { 
            	sb.append(ALPHABET.charAt(offset)); 
        	} 
    	}//forloop 
    	return sb.toString(); 
	} 
}//class
#3

اخوي من وين بالزبط؟

يا ريت توضح

وشكراااااااااااا

مواضيع مشابهة