小编Axl*_*xle的帖子

HmacSHA1的Java Mac.getInstance很慢

我在运行OSX 10.9.4,1.7GHz i7,8GB内存的Macbook Air上运行以下Java程序.我安装了Java Cryptography Extension(JCE).

import javax.crypto.Mac;

public class Main {
  public static void main(String[] args) throws Exception {
    Mac.getInstance("HmacSHA1");
  }
}
Run Code Online (Sandbox Code Playgroud)

运行这个简单的程序会导致运行时间超过5秒!

$ javac -version
javac 1.7.0_45
$ javac Main.java
$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
$ time java Main

real    0m5.326s
user    0m0.390s
sys     0m0.033s
Run Code Online (Sandbox Code Playgroud)

我做了很多搜索,但没有找到解决方法或解释的方法.

以前有人听说过这个问题吗?或者知道一种方法让我调试正在发生的事情?当你的单位测试一直持续到目前为止,对你的单位测试给予5秒的惩罚是非常令人沮丧的.

编辑: 这是程序内部的时间安排和安全提供程序列表:

import java.security.Provider;
import java.security.Security; …
Run Code Online (Sandbox Code Playgroud)

java random macos cryptography hmac

7
推荐指数
1
解决办法
1829
查看次数

标签 统计

cryptography ×1

hmac ×1

java ×1

macos ×1

random ×1