Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/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的最有效方式';s DES实现对单个(64位)块进行加密?_Java_Performance_Des - Fatal编程技术网

使用Java的最有效方式';s DES实现对单个(64位)块进行加密?

使用Java的最有效方式';s DES实现对单个(64位)块进行加密?,java,performance,des,Java,Performance,Des,我有一种使用Java的DES实现对单个(64位)块进行加密的方法 public BitSet encrypt(BitSet plaintextBlock, BitSet key) { try { Cipher c = Cipher.getInstance("DES/ECB/NoPadding"); SecretKeyFactory sf = SecretKeyFactory.getInstance("DES"); Key desKey =

我有一种使用Java的DES实现对单个(64位)块进行加密的方法

public BitSet encrypt(BitSet plaintextBlock, BitSet key)
{
    try {
        Cipher c = Cipher.getInstance("DES/ECB/NoPadding");
        SecretKeyFactory sf = SecretKeyFactory.getInstance("DES");
        Key desKey = sf.generateSecret(new DESKeySpec(key.toByteArray()));
        c.init(Cipher.ENCRYPT_MODE, desKey);
        byte[] input = plaintextBlock.toByteArray();
        byte[] encrypted = c.doFinal(input);

        return BitSet.valueOf(encrypted);
    } catch (Exception e) { /* Exception handling omitted */ }
}
明文块始终小于或等于64位。填充和链接是分别实现的。这工作正常,但运行非常缓慢


所以我的问题是:有没有更有效的方法用Java的DES加密单个数据块?

我正在用字节数组对一个具有相同密钥和数据的非优化自定义实现进行测试,速度是原来的两倍多。这是在我拆分了该方法的前半部分之后(直到获得
键工厂
)到构造函数中。