这篇文章主要介绍了Java编码摘要算法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
URL 编码与解码
String s = "你好,世界!"; // URL 编码 String urlEncodedString = URLEncoder.encode(s, "UTF-8"); // URL 解码 String urlDecodedString = URLDecoder.decode(urlEncodedString, "UTF-8");
Base64 编码与解码
// Base64 编码 String base64EncodedString = Base64 .getEncoder() // 去掉 Base64 后补位的 = .withoutPadding() .encodeToString("你好,世界!!".getBytes(StandardCharsets.UTF_8)); // Base64 解码 byte[] base64DecodedByteArray = Base64.getDecoder().decode(base64EncodedString); String base64DecodedString = new String(base64DecodedByteArray, StandardCharsets.UTF_8);
byte[] 转 16 进制字符串
后面摘要算法可视化结果时会用到
/** * byte[] 按位转换为 16 进制 String * @param aData 需要转换的 byte[] * @return byte[] 按位转换为的 16 进制 String */ public static String byteArrayToHexString(byte[] aData) { final char[] hexChars = "0123456789abcdef".toCharArray(); // 一个字节用两个 16 进制字符表示 StringBuilder stringBuilder = new StringBuilder(aData.length * 2); for (byte b : aData) { // 高 4 位转换为 16 进制 stringBuilder.append(hexChars[(b >>> 4) & 0x0f]); // 低 4 位转换为 16 进制 stringBuilder.append(hexChars[b & 0x0f]); } return stringBuilder.toString(); }
MD5 算法
// 参数为摘要算法的名称 MessageDigest messageDigest = MessageDigest.getInstance("MD5"); // 以下两行代码相当于 messageDigest.update("你好,世界!".getBytes(StandardCharsets.UTF_8)); messageDigest.update("你好,".getBytes(StandardCharsets.UTF_8)); messageDigest.update("世界!".getBytes(StandardCharsets.UTF_8)); byte[] md5Bytes = messageDigest.digest();
SHA1 算法
// SHA256 把算法名称换一下就行了 MessageDigest messageDigest = MessageDigest.getInstance("SHA1"); // 以下两行代码相当于 messageDigest.update("你好,世界!".getBytes(StandardCharsets.UTF_8)); messageDigest.update("你好,".getBytes(StandardCharsets.UTF_8)); messageDigest.update("世界!".getBytes(StandardCharsets.UTF_8)); byte[] md5Bytes = messageDigest.digest();
,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
本文向大家介绍java实现的MD5摘要算法完整实例,包括了java实现的MD5摘要算法完整实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现的MD5摘要算法。分享给大家供大家参考,具体如下: 使用org.apache.commons.codec.digest.DigestUtilsorg.apache.commons.codec.digest.DigestUtils来实现md
本文向大家介绍Java加密 消息摘要算法SHA实现详解,包括了Java加密 消息摘要算法SHA实现详解的使用技巧和注意事项,需要的朋友参考一下 SHA是消息摘要算法的一种实现方式,前面已经总结过MD2\4\5的实现,接下来就为大家总结一下SHA的实现。 SHA的jdk实现: SHA的BC实现: 对于SHA224,JAVA jdk并没有提供实现,下面是利用BC实现的方法: 对于SHA224还有一种类
本文向大家介绍Java加密 消息摘要算法MAC实现详解,包括了Java加密 消息摘要算法MAC实现详解的使用技巧和注意事项,需要的朋友参考一下 MAC是消息摘要算法的第三种实现方式,另外两种方式分别为:MD2\4\5、SHA。 MAC的jdk实现:1、默认密钥方式 2、动态密钥方式: MAC的BC实现: 到今天JAVA中的Base64、对称加密、消息摘要加密的实现总结就完工了,如果哪位对此感兴趣,
Hash 算法 定义 Hash (哈希或散列)算法是信息技术领域非常基础也非常重要的技术。它能任意长度的二进制值(明文)映射为较短的固定长度的二进制值(Hash 值),并且不同的明文很难映射为相同的 Hash 值。 例如计算一段话“hello blockchain world, this is yeasy@github”的 MD5 hash 值为 89242549883a2ef85dc81b90f
本文向大家介绍Python hashlib常见摘要算法详解,包括了Python hashlib常见摘要算法详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Python hashlib常见摘要算法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等 计算出一个字
本文向大家介绍Java消息摘要算法MAC实现与应用完整示例,包括了Java消息摘要算法MAC实现与应用完整示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java消息摘要算法MAC实现与应用。分享给大家供大家参考,具体如下: 一 介绍 MAC:Message Authentication Code HMAC:keyed-Hash Message Authencication Code,