com.sun.crypto.provider.HmacCore$HmacSHA256 cannot be cast to javax.crypto.MacSpi

在进行将字符串做 hamc-sha256 签名,以 16 进制编码的单元测试时,出现如下错误:

java.lang.ClassCastException: com.sun.crypto.provider.HmacCore$HmacSHA256 cannot be cast to javax.crypto.MacSpi

debug是到下面这一步判断为false直接跳出循环。

com.sun.crypto.provider.HmacCore$HmacSHA256 cannot be cast to javax.crypto.MacSpi_第1张图片

在stackflow上有人提出这个问题:https://stackoverflow.com/questions/7442875/generating-hmacsha256-signature-in-junit

解决方法就是在单元测试的类上面增加注释:

@PowerMockIgnore("javax.crypto.*")

 

你可能感兴趣的:(测试)