时间:2021-05-21
Java 提供了MessageDigest 类用来处理消息摘要算法,如MD5 ,SHA-1 和SHA-256 等。
1. Java 的标准实现
使用位运算进行进制转换。
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Hash { private static final char[] hexCode = "0123456789ABCDEF".toCharArray(); public static String md5(String input) throws NoSuchAlgorithmException { byte[] bytes = MessageDigest.getInstance("MD5").digest(input.getBytes()); return printHexBinary(bytes); } public static String printHexBinary(byte[] data) { StringBuilder r = new StringBuilder(data.length * 2); for (byte b : data) { r.append(hexCode[(b >> 4) & 0xF]); r.append(hexCode[(b & 0xF)]); } return r.toString(); }}2. 使用 String.format
使用String.format 进行进制转换。
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Hash { public static String md5(String input) throws NoSuchAlgorithmException { byte[] bytes = MessageDigest.getInstance("MD5").digest(input.getBytes()); return printHexBinary(bytes); } public static String printHexBinary(byte[] data) { StringBuilder r = new StringBuilder(data.length * 2); for (byte b : data) { r.append(String.format("%02X", new Integer(b & 0xFF))); } return r.toString(); }}3. Kotlin 的标准实现
4. Kotlin 扩展函数
定义完扩展函数后,就可以使用下面的语法来计算MD5值:
val hash = "foo-bar".md5()到此这篇关于Android 中 MD5 的几种生成方式(小结)的文章就介绍到这了,更多相关Android MD5生成内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
linux下使用md5sum递归生成整个目录的md5今天要用md5sum操作目录,递归生成目录下所有文件的md5值,结果发现它不支持递归操作于是写了个php脚本
给每个文件生成一个MD5值,来对文件进行加密,是常用的文件校验方法,但是MD5的缺陷就是不能防止碰撞,所以不同文件生成的MD5可能是相同的,因此就需要进行去重操
MD5作为一种保护数据的方式,我们可以使用notepad++生成MD5数据,下面我们就来看看详细的教程。软件名称:文本(代码)编辑器(Notepad++)64位
Androidmd5加密与phpmd5加密一致详解在Android开发过程中加密密码常常采用md5加密方式,然而如果服务器端采用PHP开发(php采用md5加密
之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题:•md5sum获取有些软连接的MD5值存在问题•不支持对空目录进