public static String getMD5(byte[] source) {
String s = null;
// 用来将字节转换成 16 进制表示的字符
char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
try {
java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
md.update(source);
// MD5 的计算结果是一个 128 位的长整数
byte tmp[] = md.digest();
// 用字节表示就是 16 个字节
// 每个字节用 16 进制表示的话,使用两个字符
char str[] = new char[16 * 2];
// 所以表示成 16 进制需要 32 个字符
// 表示转换结果中对应的字符位置
int k = 0;
// 从第一个字节开始,对 MD5 的每一个字节
for (int i = 0; i < 16; i++) {
// 转换成 16 进制字符的转换
// 取第 i 个字节
byte byte0 = tmp[i];
// 取字节中高 4 位的数字转换
str[k++] = hexDigits[byte0 >>> 4 & 0xf];
// 为逻辑右移,将符号位一起右移
// 取字节中低 4 位的数字转换
str[k++] = hexDigits[byte0 & 0xf];
}
// 换后的结果转换为字符串
s = new String(str);
} catch (Exception e) {
e.printStackTrace();
}
return s;
}
public static void main(String[] args) {
getMD5("a".getBytes());
}
分享到:
相关推荐
Spark-md5是一个用JavaScript编写的快速、高效的md5库。它根据MD5算法,将输入的任意长度的明文,经过一系列的操作,转换成一个128位(16字节)的密文。 Spark-md5实现了在浏览器中对文件进行哈希计算,并且在上传...
JavaScript中的MD5加密工具类是用于对数据进行安全哈希的一种方法,广泛应用于密码存储、数据完整性校验等场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的输入转化为固定长度的...
MD5是一种广泛使用的加密散列函数,设计者是Ronald Rivest。它产生一个128位(16字节)的散列值,通常以32个十六进制数字的形式呈现,用于数据完整性校验和密码存储。 在Perl中,Digest-Perl-MD5模块提供了简便的...
2. 用户密码存储:尽管MD5已不适用于高强度密码保护,但在一些低安全需求场景下,仍可用于对用户密码进行单向加密存储。 3. 数据签名:在前后端交互中,可以通过MD5对请求参数进行哈希,生成签名,防止数据被篡改。 ...
附:如果遇到MD5加密文件,而又不知道的密码的,请在数据库中换上这组加密的数据。 admin---16位加密---7a57a5a743894a0e admin---32位加密---21232f297a57a5a743894a0e4a801fc3 admin---40位加密---7a57a5a743894...
JavaScript中的HMAC-MD5算法是一种用于增强用户密码安全...总的来说,JavaScript中的HMAC-MD5算法是增强用户密码安全的有效手段,但随着技术的发展,我们应该关注并采用更先进的加密和哈希技术,以抵御潜在的安全威胁。
在描述中提到的"MD5加密工具--MD5验证.rar"是一个包含MD5验证功能的压缩文件,可能是一个用于计算和验证文件MD5值的小型应用程序,比如"MD5验证.exe"。这样的工具对于确保文件的完整性和未被篡改至关重要。当你从...
在IT行业中,密码的安全性是至关重要的,尤其是在网络服务中,如用户登录...总的来说,MD5在Java中的使用提供了一种简单的密码加密方式,但随着技术的发展,开发者应考虑使用更强大的加密策略来保护用户的敏感信息。
前端加密插件md5.js MD5.js是对前端的明文数据进行MD5加密方式。是一个前端加密插件。 MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的...
例如,可以在登录页面的jsp代码中使用MD5类来加密用户输入的密码,然后将加密后的密码存储在数据库中。在登录验证时,可以再次使用MD5类来加密用户输入的密码,并与数据库中的密码进行比较,以验证用户身份。 使用...
在Spring Boot中,我们可以方便地利用Apache Commons Codec库中的`DigestUtils`类进行MD5加密。 MD5加密的基本原理是,给定一个输入字符串,通过一系列计算步骤,将其转换成一个32位的16进制表示的字符串。这个过程...
### crypto-js 库在前端开发中的应用:MD5与DES加密技术详解 #### 一、前言 在当今数字化时代,信息安全变得尤为重要。无论是保护用户的个人信息还是确保数据传输的安全性,加密技术都扮演着至关重要的角色。在...
在前端应用中,MD5加密通常用于密码存储,用户在输入密码后,前端会立即对密码进行MD5处理,然后将哈希值发送到服务器,这样即使数据在网络中被拦截,攻击者也无法直接获取原始密码。同时,服务器端也会对用户输入的...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它在密码加密领域扮演着重要角色。本篇文章将深入探讨MD5算法及其在数据库密码加密中的应用。 MD5由美国计算机科学家Ronald Rivest于1991年设计,是一...
以上代码展示了如何在jQuery中使用MD5加密用户输入的密码,然后再发送到服务器。这种方法可以提高安全性,因为即使网络中存在中间人攻击,攻击者也无法直接获取原始密码。 总结来说,"jquery实现MD5加密"主要涉及到...
这个"Java-MD5加密工具.rar"提供了一个简单的MD5加密工具类,方便开发者快速实现数据的哈希加密。 MD5的工作原理是将输入的数据分割成512位的块,并对每个块进行一系列复杂的计算,最终生成一个128位(16字节)的...
Linux 系统 GRUB 的 MD5 加密方法是指通过使用 grub-md5-crypt 工具生成 MD5 密码,并将其应用于 GRUB 配置文件中,以实现对 GRUB 界面和被引导系统的加密保护。下面是有关 Linux 系统 GRUB 的 MD5 加密方法的详细...
根据给定的文件信息,我们可以深入探讨如何使用Java类实现MD5加密,这在现代软件开发,特别是涉及用户数据安全的场景中极为重要。MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它能将任意长度的数据...
- 用户密码存储:前端可以先对用户输入的密码进行MD5加密,然后发送到服务器,这样即使数据在传输过程中被截获,也无法直接还原原始密码。 - 文件一致性检查:通过计算文件内容的MD5值,可以验证文件是否在传输过程...
`angular-md5`是一个专门为Angular.js设计的MD5加密组件,它允许开发者在客户端进行MD5哈希运算,用于密码存储、数据校验等场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的数据...