最近学校刚做完一个练手的小项目,把这个项目得到的小成果拿出来晒一下,呵呵。 废话不多说直接进入主题。 MD5算法只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改。 以下附上自己封装好了的MD5加密类:
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5 {
public static String getMD5Str(String str) {
MessageDigest messageDigest = null;
try {
messageDigest = MessageDigest.getInstance("MD5");
messageDigest.reset();
messageDigest.update(str.getBytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
System.out.println("NoSuchAlgorithmException caught!");
System.exit(-1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();
for (int i = 0; i < byteArray.length; i++) {
if (Integer.toHexString(0xFF & byteArray[i]).length() == 1)
md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));
else
md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));
}
return md5StrBuff.toString();
}
public static void main(String[] ager) throws Exception {
System.out.println(getMD5Str("123"));
}
}
小弟第一次发博客,以上如有不妥之处请批评指正。
分享到:
相关推荐
下面是一段简单的C++代码示例,展示如何使用`openssl`库进行MD5加密: ```cpp #include <openssl/md5.h> #include #include #include std::string md5(const std::string& input) { unsigned char hash[MD5_...
MD5(Message-Digest Algorithm 5)是一种广泛使用的加密散列函数,它产生一个128位(16字节)的散列值,通常以32位十六进制数字的形式表示。MD5常用于验证数据的完整性和保密性,比如在存储密码时。本篇将详细讲解...
总的来说,这个“windows下MD5加密工具bat文件”提供了一种简单便捷的方式,在Windows环境中利用Java进行MD5加密。用户无需了解复杂的命令行语法,只需输入字符即可快速获取MD5值,这对于日常的文件校验或临时需求...
以下是一个简单的C# MD5加密示例: ```csharp using System; using System.IO; using System.Security.Cryptography; public class MD5Example { public static void Main() { string input = "Hello, World!"; ...
通过以上步骤,我们可以看到,在C#中实现MD5加密不仅相对简单,而且非常灵活。无论是处理单个字符串还是大量连续的数据,都可以找到合适的方法来完成任务。然而,需要注意的是,虽然MD5在某些场景下仍然有效,但由于...
虽然通常不直接用于MD5加密,但可以与其他函数结合使用,以实现特定的加密需求或格式转换。 #### 3. 创建自定义的MD5加密包 对于更复杂的应用场景,可能需要创建自定义的PL/SQL包来封装MD5加密逻辑。这不仅允许...
2. **Delphi中的MD5库**:在Delphi中,可以使用第三方库如`dcutils`或`md5unit`来实现MD5加密。这些库通常提供了封装好的函数,如`MD5String`或`CalculateMD5`,可以直接接受字符串作为输入,返回MD5哈希值。例如,`...
在Excel中使用MD5加密宏,主要是为了实现对数据进行快速的非可逆加密,防止敏感信息泄露。以下是一些关于如何在Excel中使用MD5加密宏的关键知识点: 1. **宏的创建**:首先,你需要具备VBA(Visual Basic for ...
在描述中提到的"MD5加密解密demo",实际上MD5并不具备可逆的加密特性。MD5是一个单向函数,即给定任意输入,可以很容易地计算出固定的输出(摘要),但无法根据输出反推出原始输入。因此,我们通常不会说"MD5解密",...
5. **注意安全**:尽管MD5在DOS下操作简单,但如前所述,MD5的安全性已经相对较低。对于存储敏感信息,如账号密码,更推荐使用SHA-256或其他更安全的哈希算法,同时结合加盐(salt)和多次迭代(如bcrypt)来提高...
以下是一个简单的步骤来实现PB9.0调用MD5加密: 1. **创建DLL引用**:在PowerBuilder中,打开`Library List`窗口,点击`New`,然后选择`From File`,导入包含MD5函数的DLL文件。 2. **定义外部函数**:在`Library ...
2. **初始值设定**:MD5使用四个32位的变量A、B、C和D作为初始值,这些值是固定的。 3. **分块处理**:将填充后的数据分为多个512位的块进行处理。每个块通过一系列的变换,包括左移位、异或和加法操作,影响到A、B...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的信息映射为一个固定长度的摘要值,通常是32位的...理解MD5的工作原理和Java中的实现方法,对于进行数据校验和简单加密操作是必要的。
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的信息映射为固定长度的输出,通常是一个128位的二进制数,以32位十六进制数的形式表示。在信息技术领域,MD5常常用于数据校验和密码...
这些库通常提供了简单的API,允许开发者方便地对字符串进行MD5加密。例如,`js-md5`库中的`md5()`函数可以直接接收字符串作为参数: ```javascript var hash = md5('your-string'); ``` 如果需要对JSON对象进行MD5...
总的来说,JavaScript前端MD5加密是一个简单而实用的技术,对于一些基本的数据安全需求,如防止数据篡改和简单的隐私保护,它都能提供有效的支持。然而,在设计安全系统时,还需要考虑其他因素,如传输安全(HTTPS)...
在Spring Boot中,我们可以使用`DigestUtils.md5DigestAsHex()`方法来对字符串进行MD5加密。这个方法接受一个字节数组作为参数,返回一个32位的小写十六进制字符串,代表了原始字符串的MD5哈希值。以下是一个简单的...
总结,C#中的MD5加密是一个简单的数据处理过程,用于生成数据的数字指纹。虽然MD5在数据完整性方面有一定的作用,但由于其安全性问题,不应再用于密码存储。开发者应当关注最新的加密标准和技术,以确保数据的安全。...
以下是一个简单的MD5加密步骤: 1. 创建`MessageDigest`实例,指定算法为MD5。 ```java MessageDigest md = MessageDigest.getInstance("MD5"); ``` 2. 更新要加密的字节数组。 ```java byte[] data = "待加密字符...
使用时需要下载对应的库文件,然后通过`CryptoJS.MD5(data)`进行加密。 - **spark-md5**: 这是一个轻量级的MD5库,特别适合在浏览器环境中使用,它支持流式处理大文件。使用`SparkMD5.ArrayBuffer()`或`SparkMD5....