windows下运行macInstance = Mac.getInstance("HmacSHA1");完全正常,Linux下则出现异常:
java.security.NoSuchAlgorithmException: Algorithm HmacSHA1 not available
at javax.crypto.Mac.getInstance(DashoA13*..);
主要原因是linux下缺少依赖包。
解决方法:
在windows下打开目录$JAVA_HOME/jre/lib/ext/,找到sunjce_provider.jar,然后拷贝至linux下对应的目录即可。
可参考:http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html