كود خوارزميه RSA بالجافا

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

كود خوارزميه RSA بالجافا

مُساهمة من طرف مصطفى في الأربعاء أبريل 16, 2014 7:09 pm

الكلاس التالي كود خوارزميه RSA
الرمز:


import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import javax.crypto.Cipher;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

/**
 *
 * @author ashraf
 */
public class newc {
   
    public void print()
    {
       
    }
  private KeyPair keyPair;

   public newc() throws Exception
   {
      Initialize();
   }

   public void Initialize() throws Exception
   {
      KeyPairGenerator keygen = KeyPairGenerator.getInstance("RSA");
      keygen.initialize(512);
      keyPair = keygen.generateKeyPair();
   }
// داله التشفير
   public String encrypt(String plaintext)  throws Exception
   {
      PublicKey key = keyPair.getPublic();
      Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

      cipher.init(Cipher.ENCRYPT_MODE, key);

      byte[] ciphertext = cipher.doFinal(plaintext.getBytes("UTF8"));
      
          return encodeBASE64(ciphertext);
   }
//داله فك التشفير
   public String decrypt(String ciphertext)  throws Exception
   {
      PrivateKey key = keyPair.getPrivate();
      Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");

      cipher.init(Cipher.DECRYPT_MODE, key);

      byte[] plaintext = cipher.doFinal(decodeBASE64(ciphertext));
      return new String(plaintext, "UTF8");
   }

    private static String encodeBASE64(byte[] bytes)
    {
        BASE64Encoder b64 = new BASE64Encoder();
        return b64.encode(bytes);
    }

    private static byte[] decodeBASE64(String text) throws Exception
    {
        BASE64Decoder b64 = new BASE64Decoder();
        return b64.decodeBuffer(text);
    }
}
 ومن ثم نقوم بعمل jButton بالنتبينز ونقوم باستدعاء داله التشفير الموجوده في الكلاس اعلاه
يقوم jButtonعند الضقط عليه يقوم بقراءة النص المراد تشفيره منt1 ويرسل النص المشفر الي  t2
الكود: حيث t1 ,t2 ,عباره عن JTextArea
الرمز:
 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try {     
            newc kk =new newc();
          String d=t1.getText();
          t2.setText(kk.encrypt(d));
        } catch (Exception ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }

     
    }     
 و jButton  اخر عند الضقط عليه يقوم بقراءه النص المشفر ويفك التشفير
الرمز:
 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                       
        try {   
            newc bb =new newc();
                t3.setText(bb.decrypt(t2.getText()));
        } catch (Exception ex) {
            Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
     
     
    }

لاكن في كود فك التشفير اعلاه يوجد خطأ في التنفيذ وليس خطأ قواعدي
الرجاء تطبيق الخوارزميه ومعرفه الخطأ ومناقشه الكود ككل حتي تعم المعرفه

مصطفى
..
..

تاريخ التسجيل : 02/04/2014
المساهمات : 13
النقاط : 29
التقيم : 0
الدولة : السودان
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود خوارزميه RSA بالجافا

مُساهمة من طرف أحمد مناع في الخميس أبريل 17, 2014 6:23 am


جزاكم الله خيرا اخى مصطفى .....

جارى نقل المقال فى قسم الدورس و المقالات

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: كود خوارزميه RSA بالجافا

مُساهمة من طرف زهراء في الخميس أبريل 17, 2014 1:07 pm

أحسنت اخى الفاضل ...خصوصا انك سألت عن هذا منذ فترة ولم تجب الاجابة ....وعندما توصلت اليها لم تبخل علينا بها فجزاكم الله خيرا

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى