• 0
رويا

ارجو المساعدة في كود تشفير وفك التشفير

سؤال

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

 

 

مطلوب مني كود تشفير وفك التشفير في الجامعة ب اي لغة وعن طريق البحث بالنت

بشرط التطبيق يطلع صحيح

 

جمعت اكواد وقمت بتجريبهم ..

 

مثال :

 

 

package a;

public class java {

    

        import javax.crypto.Cipher;
        import javax.crypto.spec.SecretKeySpec;

        import org.apache.commons.cli.CommandLine;
        import org.apache.commons.cli.CommandLineParser;
        import org.apache.commons.cli.HelpFormatter;
        import org.apache.commons.cli.Option;
        import org.apache.commons.cli.Options;
        import org.apache.commons.cli.PosixParser;
        import org.apache.commons.codec.binary.Base64;
        import org.apache.commons.logging.Log;
        import org.apache.commons.logging.LogFactory;

        public class CipherUtils
        {

            static Log log = LogFactory.getLog(CipherUtils.class);

            private static byte[] key = {
                    0x74, 0x68, 0x69, 0x73, 0x49, 0x73, 0x41, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79
            };//"thisIsASecretKey";

            public static String encrypt(String strToEncrypt)
            {
                try
                {
                    Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
                    final SecretKeySpec secretKey = new SecretKeySpec(key, "AES");
                    cipher.init(Cipher.ENCRYPT_MODE, secretKey);
                    final String encryptedString = Base64.encodeBase64String(cipher.doFinal(strToEncrypt.getBytes()));
                    return encryptedString;
                }
                catch (Exception e)
                {
                    log.error("Error while encrypting", e);
                }
                return null;

            }

            public static String decrypt(String strToDecrypt)
            {
                try
                {
                    Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
                    final SecretKeySpec secretKey = new SecretKeySpec(key, "AES");
                    cipher.init(Cipher.DECRYPT_MODE, secretKey);
                    final String decryptedString = new String(cipher.doFinal(Base64.decodeBase64(strToDecrypt)));
                    return decryptedString;
                }
                catch (Exception e)
                {
                    log.error("Error while decrypting", e);

                }
                return null;
            }


            public static void main(String args[])
            {

                CommandLineParser parser = new PosixParser();
                Options options = new Options();
                Option help = new Option("help", "Display help");
                Option encrypt = new Option("encrypt", true, " - string to encrypt");
                Option decrypt = new Option("decrypt", true, " - string to decrypt");
                options.addOption(help);
                options.addOption(encrypt);
                options.addOption(decrypt);
                try
                {
                    CommandLine cmd = parser.parse(options, args);
                    if (cmd.hasOption("encrypt"))
                    {
                        final String strToEncrypt = cmd.getOptionValue("encrypt");
                        final String encryptedStr = CipherUtils.encrypt(strToEncrypt.trim());
                        System.out.println("String to Encrypt : " + strToEncrypt);
                        System.out.println("Encrypted : " + encryptedStr);
                    }
                    else if (cmd.hasOption("decrypt"))
                    {
                        final String strToDecrypt = cmd.getOptionValue("decrypt");
                        final String decryptedStr = CipherUtils.decrypt(strToDecrypt.trim());
                        System.out.println("String To Decrypt : " + strToDecrypt);
                        System.out.println("Decrypted : " + decryptedStr);
                    }
                    else
                    {
                        HelpFormatter formatter = new HelpFormatter();
                        formatter.printHelp("[-h] [-encrypt ]", options);
                    }
                }
                catch (Exception e)
                {
                    log.error("Error while parsing command ", e);
                }

            }
        }
    }

}
 

 

 

شغلته ببرنامج الـ eclips

لكن يطلع ايرور يمنع تشغيله

Error: Could not find or load main class a.EncryptDecryptStringWithDES

 

وفي كل كود اجربه يطلع نفس الإيرور

 

ايش المشكله بالضبط جزاكم الله خير :(

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

تفضلي :

import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;import java.security.spec.KeySpec;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESedeKeySpec;public class EncryptionTest {    private static final String UNICODE_FORMAT = "UTF8";    public static final String DESEDE_ENCRYPTION_SCHEME = "DESede";    private KeySpec ks;    private SecretKeyFactory skf;    private Cipher cipher;    byte[] arrayBytes;    private String myEncryptionKey;    private String myEncryptionScheme;    SecretKey key;    public EncryptionTest() throws Exception {        myEncryptionKey = "ThisIsSpartaThisIsSparta";        myEncryptionScheme = DESEDE_ENCRYPTION_SCHEME;        arrayBytes = myEncryptionKey.getBytes(UNICODE_FORMAT);        ks = new DESedeKeySpec(arrayBytes);        skf = SecretKeyFactory.getInstance(myEncryptionScheme);        cipher = Cipher.getInstance(myEncryptionScheme);        key = skf.generateSecret(ks);    }    public String encrypt(String unencryptedString) {        String encryptedString = null;        try {            cipher.init(Cipher.ENCRYPT_MODE, key);            byte[] plainText = unencryptedString.getBytes(UNICODE_FORMAT);            byte[] encryptedText = cipher.doFinal(plainText);            encryptedString = Base64.encode(encryptedText);        } catch (Exception e) {            e.printStackTrace();        }        return encryptedString;    }    public String decrypt(String encryptedString) {        String decryptedText = null;        try {            cipher.init(Cipher.DECRYPT_MODE, key);            byte[] encryptedText = Base64.decode(encryptedString);            byte[] plainText = cipher.doFinal(encryptedText);            decryptedText = new String(plainText);        } catch (Exception e) {            e.printStackTrace();        }        return decryptedText;    }    public static void main(String args[]) throws Exception {        EncryptionTest td = new EncryptionTest();        String target = "ArabTeam2000.com";        String encrypted = td.encrypt(target);        String decrypted = td.decrypt(encrypted);        System.out.println("String To Encrypt : " + target);        System.out.println("Encrypted String : " + encrypted);        System.out.println("Decrypted String : " + decrypted);    }}

المُخرجات :

String To Encrypt : ArabTeam2000.comEncrypted String : 0lt8f+Q4wpB//5T6x2wJ5oklKlCX19QmDecrypted String : ArabTeam2000.com

بالتوفيق.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله الجنة ()

 

بس واجهتني مشكلة .. رغم اني الخطوات إللي نفذتها :

إنشاء بروجكت جافا ثم أنشئت كلاس ثم وضعت الكود

ف طلع لي هذا الأيرور ,

 

lyFwS.png

 

ماأدري هل طريقتي في الإنشاء غلط !

" أعتذر لك لكن أبداً ماعندي فكرة عن لغة الجافا للأسف ! "

ثانياً : لو سمحت بـ أي طرق التشفير هذا الكود مثلاً الـ DES أو RC4 أو أو ..... !

 

 

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بس واجهتني مشكلة .. رغم اني الخطوات إللي نفذتها :

إنشاء بروجكت جافا ثم أنشئت كلاس ثم وضعت الكود

ف طلع لي هذا الأيرور ,

 

هل يمكنك إنشاء و تنفيذ كلاس عادي ؟

إذا كان الجواب نعم (و هو ما أعتقده) فالمشكلة ليست من الكود و إنما هي من إعداد المترجم لديك, لذا ضعي سؤالك في موضوع جديد و إن شاء الله ستجدين الإجابة.

 

 

لو سمحت بـ أي طرق التشفير هذا الكود مثلاً الـ DES أو RC4 أو أو ..... !

 

 

الخوارزمية المستخدمة في التشفير هي Triple DES.

 

 

أعتذر لك لكن أبداً ماعندي فكرة عن لغة الجافا للأسف !

 

إذا كان الحال هكذا فالأولى بك هو التركيز على أولويات الجافا بدلا من التشفير او ما شابه !!

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله عني خير الجزاء

وراح احاول جاهده اني اتعلم لغة الجافا

رغم ان دراستي في الجامعه مافيه اي ماده مختصه بـ لغة الجافا :)

شكراً جزيلاً

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .