`

MD5加密类的例子

阅读更多
 1 package com.jqqd.test;    
 2   
 3 import java.security.MessageDigest;    
 4   
 5 public class Password {    
 6   
 7 private final static String[] hexDigits = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};    
 8 //十六进制下数字到字符的映射数组    
 9   
10 /**把inputString加密*/    
11 public static String createPassword(String inputString){    
12 return encodeByMD5(inputString);    
13 }    
14   
15 /**   
16 * 验证输入的密码是否正确   
17 @param password 真正的密码(加密后的真密码)   
18 @param inputString 输入的字符串   
19 @return 验证结果,boolean类型   
20 */    
21 public static boolean authenticatePassword(String password,String inputString){    
22 if(password.equals(encodeByMD5(inputString))){    
23 return true;    
24 }else{    
25 return false;    
26 }    
27 }    
28   
29 /**对字符串进行MD5编码*/    
30 private static String encodeByMD5(String originString){    
31 if(originString != null){    
32 try{    
33 //创建具有指定算法名称的信息摘要    
34 MessageDigest md = MessageDigest.getInstance("MD5");    
35 //使用指定的字节数组对摘要进行最后更新,然后完成摘要计算    
36 byte[] results = md.digest(originString.getBytes());    
37 //将得到的字节数组变成字符串返回    
38 String resultString = byteArrayToHexString(results);    
39 return resultString.toUpperCase();    
40 }catch(Exception ex){    
41 ex.printStackTrace();    
42 }    
43 }    
44 return null;    
45 }    
46   
47 /**   
48 * 轮换字节数组为十六进制字符串   
49 @param b 字节数组   
50 @return 十六进制字符串   
51 */    
52 private static String byteArrayToHexString(byte[] b){    
53 StringBuffer resultSb = new StringBuffer();    
54 for(int i=0;i<b.length;i++){    
55 resultSb.append(byteToHexString(b[i]));    
56 }    
57 return resultSb.toString();    
58 }    
59   
60 /**   
61 * 将一个字节转化成十六进制形式的字符串   
62 */    
63 private static String byteToHexString(byte b){    
64 int n = b;    
65 if(n<0)    
66 n=256+n;    
67 int d1 = n/16;    
68 int d2 = n%16;    
69 return hexDigits[d1] + hexDigits[d2];    
70 }    
71   
72 public static void main(String[] args){    
73 String password = Password.createPassword("yaowenchao");    
74 System.out.println("对yaowenchao用MD5摘要后的字符串:"+password);    
75 String inputString = "tianshi0253";    
76 System.out.println("tianshi0253与密码匹配?"+Password.authenticatePassword(password, inputString));    
77 inputString = "yaowenchao";    
78 System.out.println("yaowenchao与密码匹配?"+Password.authenticatePassword(password, inputString));    
79 }    
80   
81 }  

 

分享到:
评论

相关推荐

    MD5加密类例子

    MD5加密类例子

    as3.0中MD5加密例子

    总的来说,AS3.0中的MD5加密例子展示了如何在Flash环境中实现数据的安全处理,尽管MD5在现代密码学中已经不再理想,但它在一些旧系统中仍然存在,了解其工作原理和使用方法对理解和维护这些系统至关重要。

    几个MD5加密的例子

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要目的...通过研究这些MD5加密的例子,我们可以更好地理解其工作原理,以及为什么在如今的网络安全环境中,更强大的加密算法如SHA-256等已经替代了MD5。

    MD5加密例子

    在"LiujunMD5Demo"这个示例中,可能包含了一个简单的MD5加密和匹配的程序代码。这个程序可能展示了如何在编程语言中实现MD5加密,以及如何对比加密后的摘要以验证密码。通常,这样的代码会涉及导入加密库,定义函数...

    MD5 加密解密例子

    在这个例子中,`encrypt`方法接收一个字符串作为输入,然后使用`MessageDigest`类的`getInstance`方法获取MD5算法的实例。接下来,将输入字符串的字节转换为MD5摘要,并将其转换为16进制字符串返回。 解密MD5通常...

    java MD5加密 实例 例子

    在Java中,MD5加密主要通过`java.security.MessageDigest`类来实现。首先,我们需要创建一个`MessageDigest`实例,并指定算法为MD5。然后,将待加密的数据(字符串或字节数组)喂给这个实例,最后调用`digest()`方法...

    Delphi7测试md5加密的例子

    这些库提供了MD5计算的函数或类,例如`CalculateMD5Hash`或者`TCryptoLibMD5Digest`。 1. **安装库**: 首先,你需要下载并安装支持MD5的库。这通常涉及将库的源代码导入到你的项目中,或者将编译后的dcu文件添加到...

    MD5加密小例子

    综上所述,MD5虽然在数据完整性校验方面仍有用武之地,但在安全性需求较高的场景下,应避免单独使用MD5进行数据加密或密码存储。了解MD5的工作原理和局限性,对于IT专业人士来说至关重要,以确保我们的系统和数据...

    MD5编码、MD5加密解密demo

    在描述中提到的"MD5加密解密demo",实际上MD5并不具备可逆的加密特性。MD5是一个单向函数,即给定任意输入,可以很容易地计算出固定的输出(摘要),但无法根据输出反推出原始输入。因此,我们通常不会说"MD5解密",...

    Oracle实现MD5加密

    以下是一个创建自定义MD5加密包的例子: ```sql CREATE OR REPLACE PACKAGE Test_MD5 AS FUNCTION FN_GetMD5(P_Str_In VARCHAR2) RETURN VARCHAR2; FUNCTION FN_CheckUser(P_UserName_In VARCHAR2, P_Password_In...

    delphi MD5加密例子

    在提供的示例中,`UnMD5.pas`可能包含了MD5加密的核心算法实现,`UnMD5.dcu`是对应的编译单元,`MD5.dpr`是Delphi项目文件,`MD5.dfm`可能是包含用户界面设计的表单文件,`MD5.exe`是编译后的可执行程序。`MD5.cfg`...

    JavaScript前端md5加密

    JavaScript前端MD5加密是一种常见的数据安全处理技术,用于在客户端对敏感信息进行预处理,以保护数据不被轻易破解。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的输入转化为固定...

    ASP MD5加密类和运行例子 UTF-8编码.带完整注释

    在这个压缩包中,"md5"文件可能是一个ASP文件,包含了实现MD5加密的类定义和示例代码。类中可能包含如`MD5_Encrypt`这样的方法,接收一个字符串作为参数,返回其MD5哈希值。同时,代码应该有详细的注释,帮助开发者...

    Delphi采用MD5 加密的例子..rar

    这个"Delphi采用MD5 加密的例子"压缩包文件可能包含了一个或多个Delphi源代码文件,用于演示如何在Delphi程序中集成MD5加密功能。 在Delphi中,通常会借助如` Indy `或` OpenSSL `这样的库来处理MD5加密。`Indy`是...

    用java实现的md5加密与例子

    在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5加密。首先,我们需要导入相关的库: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ``` 接下来...

    md5加密实例

    md5加密实例,里面有md5加密的一个实例可以直接编译执行。

    JAVA MD5加密例子

    在Java中,我们可以利用`java.security.MessageDigest`类来实现MD5加密。下面我们将详细介绍MD5加密在Java中的应用及其原理。 MD5算法的基本思想是将任意长度的输入(又叫做预映射pre-image)通过一系列的数学运算...

    可用的jsp的MD5加密的javaBean

    在标题提到的"可用的jsp的MD5加密的javaBean",我们可以理解为这是一个专门用于在JSP(JavaServer Pages)环境中处理MD5加密的Java类。开发者可能在寻找如何在JSP中对用户输入的数据进行MD5加密,例如密码,以提高...

    esp8266 MD5的加密

    2. **源码示例**:描述中提到的源码例子可能是为了演示如何使用这些库来计算MD5摘要。源码可能包含以下步骤: - 包含所需的库头文件。 - 创建MD5对象实例。 - 初始化MD5哈希上下文。 - 使用`update()`函数添加要...

    md5加密源码

    JAVA实现MD5加密的例子,调用getMD5String方法,双次MD5加密,单次MD5加密

Global site tag (gtag.js) - Google Analytics