在j2me中加密PBEWithMD5AndDES

时间:2010-10-30 20:21:18

标签: java-me md5 plaintext encryption

我正在试图让这段代码在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());
        }
    }

我找到了这个lib http://www.bouncycastle.org/java.html

重要的是我找到了一个可以使用PBEWithMD5AndDES加密的j2me方法

任何人都知道解决方案吗?

编辑添加额外信息

当我尝试将上述代码添加到移动项目时 以下课程无法识别(不包括在j2me中)

    PBEKeySpec
    PBEParameterSpec
    SecretKeyFactory

所以我需要一个允许我使用PBEWithMD5AndDES编码纯文本的包 有谁知道这样的包与j2me兼容?

到目前为止回复的答案

1 个答案:

答案 0 :(得分:1)

应用基元时可能会出现问题,您应该使用Jasypt