зашифровать PBEWithMD5AndDES в j2me - PullRequest
       28

зашифровать PBEWithMD5AndDES в j2me

0 голосов
/ 31 октября 2010

я пытаюсь заставить этот код работать на j2me (это работает Java-программа) но еще не в j2me

    public static String generate(String plaintext, String passphase) throws Exception {
        try {
            PBEKeySpec pbeKeySpec = new PBEKeySpec(passphase.toCharArray());
            PBEParameterSpec pbeParamSpec;
            SecretKeyFactory keyFac;
            // Salt
            byte[] salt = {(byte) 0xc8, (byte) 0x73, (byte) 0x61, (byte) 0x1d, (byte) 0x1a, (byte) 0xf2, (byte) 0xa8, (byte) 0x99};
            // Iteration count
            int count = 20;
            // Create PBE parameter set
            pbeParamSpec = new PBEParameterSpec(salt, count);
            keyFac = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
            SecretKey pbeKey = keyFac.generateSecret(pbeKeySpec);
            // Create PBE Cipher
            Cipher pbeCipher = Cipher.getInstance("PBEWithMD5AndDES");
            // Initialize PBE Cipher with key and parameters
            pbeCipher.init(Cipher.ENCRYPT_MODE, pbeKey, pbeParamSpec);
            // Our cleartext
            byte[] cleartext = plaintext.getBytes();
            // Encrypt the cleartext
            byte[] ciphertext = pbeCipher.doFinal(cleartext);
            return ciphertext;
        } catch (Exception ex) {
            throw new Exception(ex.getMessage());
        }
    }

я нашел эту библиотеку http://www.bouncycastle.org/java.html

важно то, что я нахожу метод для j2me, который может шифровать с использованием PBEWithMD5AndDES

кто-нибудь знает решение?

изменить, добавить дополнительную информацию

когда я пытаюсь добавить вышеуказанный код в мобильный проект следующие классы не распознаются (не включены в j2me)

    PBEKeySpec
    PBEParameterSpec
    SecretKeyFactory

, поэтому мне нужен пакет, который позволяет мне кодировать обычный текст, используя PBEWithMD5AndDES Кто-нибудь знает такой пакет, совместимый с j2me?

Спасибо за ответы

1 Ответ

1 голос
/ 31 октября 2010

При применении примитива многое может пойти не так, вы должны использовать Jasypt .

...