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