在进行将字符串做 hamc-sha256 签名,以 16 进制编码的单元测试时,出现如下错误:
java.lang.ClassCastException: com.sun.crypto.provider.HmacCore$HmacSHA256 cannot be cast to javax.crypto.MacSpi
debug是到下面这一步判断为false直接跳出循环。
在stackflow上有人提出这个问题:https://stackoverflow.com/questions/7442875/generating-hmacsha256-signature-in-junit
解决方法就是在单元测试的类上面增加注释:
@PowerMockIgnore("javax.crypto.*")