Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java me 在j2me中加密PBewithmD5和DES_Java Me_Md5_Plaintext_Encryption - Fatal编程技术网

Java me 在j2me中加密PBewithmD5和DES

Java me 在j2me中加密PBewithmD5和DES,java-me,md5,plaintext,encryption,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()); PBEParameterSp

我正在尝试让这段代码在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());
        }
    }
我找到了这个图书馆

重要的是,我找到了一种j2me方法,可以使用PBewithmd5和DES进行加密

有人知道解决办法吗

编辑添加额外信息

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

所以我需要一个包,它允许我使用PBEWithMD5和DES对纯文本进行编码 有人知道这样一个与j2me兼容的包吗


对于目前为止的回复

应用原语时可能会出现很多错误,您应该使用。

@Berty它与j2me兼容,但它有自己的实现,使用现代原语。md5和des非常陈旧、破损,任何人都不应该使用它们。@Rook thx谢谢您的回复。我知道它们不是很安全,但它们不需要很安全,我只是使用它们从一些可读信息开始生成一个半随机密码。我已经创建了一个桌面安装,现在正在使用,所以移动应用程序必须是相同的算法,否则密码将不匹配。建议的软件包可以吗?@Berty你只需要一个随机数生成器就可以了。我知道,使用md5和des太过分了。关键是,只有在拥有密码短语的情况下才能生成密码。这不是matther,因为我需要得到与桌面应用程序完全相同的密码,它已经被用于生成多个密码。@Berty好的,那么你应该发布更多信息,如果你尝试将其作为j2me运行,你会遇到什么问题?
    PBEKeySpec
    PBEParameterSpec
    SecretKeyFactory