Syntax wrong with my SHA1 code

天大地大妈咪最大 提交于 2019-12-03 23:10:12

Well, it would happen if MessageDigest.getInstance() throw NoSuchAlgorithmException - because you're printing out the exception but then carrying on regardless.

However, it's actually happening because of this:

private static final char[] HEX_CHARS = null;

and then this:

chars[2 * i] = HEX_CHARS[(buf[i] & 0xF0) >>> 4];

I suspect you're not actually running the code you've got in front of you - on my machine at least, the NPE correctly points to line 24, the line including HEX_CHARS.

To fix:

private static final char[] HEX_CHARS = "0123456789ABCDEF".toCharArray();

Your HEX_CHARS variable is never set to anything besides null.

Try putting something other than null in HEX_CHARS.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!