大家好,欢迎来到IT知识分享网。
使用很简单:获取java.security.MessageDigest类的实例:MessageDigest提供了一个消息摘要算法,主要包括MD5和SHA加密。
MessageDigest类包含两个组件:提供应用程序调用的API接口和提供算法服务的接口SPI,MessageDigest继承了MessageDigestSpi,只要实现这个抽象类中的engin*()方法,你的算法就能为MessageDigest所用。
获取实例代码:
MessageDigest md5=MessageDigest.getInstance(“MD5”);
md5.update(code.getBytes());
很多时候我们需要对指定报文生成的消息摘要进行转换:byte转16进制字符串:
code:
/
* * 将字节数组中指定区间的子数组转换成16进制字符串 * @param bytes 目标字节数组 * @param start
* 起始位置(包括该位置) * @param end 结束位置(不包括该位置) * @return 转换结果
*/
public static String bytesToHex(byte bytes[], int start, int end) {
StringBuilder sb = new StringBuilder();
for (int i = start; i < start + end; i++) {
sb.append(byteToHex(bytes[i]));
}
return sb.toString();
}
/ * 16进制字符集 */
private static final char HEX_DIGITS[] = { ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’ };
/ * 将单个字节码转换成16进制字符串 * @param bt 目标字节 * @return 转换结果 */
public static String byteToHex(byte bt) {
return HEX_DIGITS[(bt & 0xf0) >> 4] + “” + HEX_DIGITS[bt & 0xf];
}
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135798.html