`
japankn
  • 浏览: 216101 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

md5 加密代码

    博客分类:
  • j2ee
阅读更多

import java.security.MessageDigest;

public class Main {

 private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
   "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

 // 十六进制下数字到字符的映射数组

 /** 把inputString加密 */
 public static String createPassword(String inputString) {
  return encodeByMD5(inputString);
 }

 /**
  * 验证输入的密码是否正确
  *
  * @param password
  *            真正的密码(加密后的真密码)
  * @param inputString
  *            输入的字符串
  * @return 验证结果,boolean类型
  */
 public static boolean authenticatePassword(String password,
   String inputString) {
  if (password.equals(encodeByMD5(inputString))) {
   return true;
  } else {
   return false;
  }
 }

 /** 对字符串进行MD5编码 */
 private static String encodeByMD5(String originString) {
  if (originString != null) {
   try {
    // 创建具有指定算法名称的信息摘要
    MessageDigest md = MessageDigest.getInstance("MD5");
    // 使用指定的字节数组对摘要进行最后更新,然后完成摘要计算
    byte[] results = md.digest(originString.getBytes());
    // 将得到的字节数组变成字符串返回
    String resultString = byteArrayToHexString(results);
    return resultString.toUpperCase();
   } catch (Exception ex) {
    ex.printStackTrace();
   }
  }
  return null;
 }

 /**
  * 轮换字节数组为十六进制字符串
  *
  * @param b
  *            字节数组
  * @return 十六进制字符串
  */
 private static String byteArrayToHexString(byte[] b) {
  StringBuffer resultSb = new StringBuffer();
  for (int i = 0; i < b.length; i++) {
   resultSb.append(byteToHexString(b[i]));
  }
  return resultSb.toString();
 }

 /**
  * 将一个字节转化成十六进制形式的字符串
  */
 private static String byteToHexString(byte b) {
  int n = b;
  if (n < 0)
   n = 256 + n;
  int d1 = n / 16;
  int d2 = n % 16;
  return hexDigits[d1] + hexDigits[d2];
 }

 public static void main(String[] args) {
  String password = Main.createPassword("japankn");
  System.out.println("对japankn用MD5加密的字符串:" + password);
  String inputString = "1234";
  System.out.println("1234与密码匹配?"
    + Main.authenticatePassword(password, inputString));
  inputString = "japankn";
  System.out.println("japankn与密码匹配?"
    + Main.authenticatePassword(password, inputString));
 }
}

分享到:
评论

相关推荐

    MD5加密代码实现

    在标题"MD5加密代码实现"中,我们理解到这个话题主要关注如何在实际编程中应用MD5算法进行数据的加密处理。虽然MD5不被认为是一种安全的加密算法,因为它容易遭受碰撞攻击,即找到两个不同的输入数据,但它们的MD5...

    MD5加密代码

    MD5加密代码 CString MD_str; //调用加密函数 MD_str= CMD5Checksum::GetMD5(str); 其中GetMD5函数就是完成对字符串的加密工作。这个函数保存在MD5Checksum.h和MD5ChecksumDefines.h里,函数的实现在MD5Checksum....

    MD5加密 代码(要怎么样才详细啊)

    2. 密码存储:在用户注册时,网站通常会将用户输入的密码进行MD5加密后存储,这样即使数据库被泄露,原始密码也无法直接获取,增加了安全性。 3. 文件校验:软件发布者通常会提供软件的MD5值,用户下载后计算本地...

    Oracle实现MD5加密

    在IT领域,尤其是在数据库安全与数据完整性保护方面,MD5加密技术被广泛应用于各种场景,包括用户密码存储、数据校验等。Oracle数据库作为一种企业级的数据库管理系统,提供了多种方式来实现MD5加密,这对于确保数据...

    MD5加密代码以及使用实例

    以下是一个简单的C# MD5加密代码实例: ```csharp using System; using System.Text; using System.Security.Cryptography; public class MD5Example { public static void Main() { string plainText = "Hello...

    Md5加密密码方法

    Md5加密密码方法将密码加密后存储

    Excel的MD5加密的2种实现方式

    在IT领域,数据的安全性和隐私保护至关重要,而MD5(Message-Digest Algorithm 5)是一种广泛应用的哈希函数,能够将任意长度的数据转化为固定长度的摘要,常用于数据校验和密码存储。在Excel中,我们可以利用两种...

    C#md5加密对应Java-md5加密

    C# MD5加密类型支持:1-16位的加密;2-32位加密;3:base64加密对应JAVA md5 16位的加密;2-32位加密;3:base64加密

    主要是C++版本的MD5加密代码

    7. **代码组织与设计模式**:在C++中,可以将MD5功能封装在一个类中,通过类的方法来提供加密服务,或者设计为一个全局的函数接口。此外,可以考虑使用面向对象的设计模式,如工厂模式,以便更灵活地创建和使用MD5...

    MD5 加密工具源码

    在标题中提到的“MD5加密工具源码”,是指一个专门用于MD5哈希运算的程序代码。这个工具被设计成一个独立的类,可以方便地对输入数据进行MD5加密,并生成16位的哈希值。默认情况下,该工具会生成大写的哈希字符串,...

    C#MD5加密代码

    在C#编程语言中,MD5加密主要用于数据完整性校验、密码存储和验证文件一致性等场景。下面我们将详细讨论如何在C#中实现MD5加密,包括对文件和字符串的处理。 ### 对文件的MD5加密 在C#中,我们可以使用`System....

    VBA MD5加密算法实现

    VBA MD5加密 算法

    MD5的加密解密c#代码

    MD5加密解密工具,就我所知,MD5的目标是生成摘要。严格来说不是一种加密算法。 不管多长的信息都能生成固定长度的MD5编码的话,必然会有信息丢失。那么光有MD5编码的话是绝对不可能还原信息的。 那网上那些MD5解密...

    支持XE XE5 XE6 XE7 delphi MD5 加密代码

    标题和描述提及的是针对Delphi开发环境的不同版本(XE, XE5, XE6, XE7)的MD5加密代码示例。这些示例可能包含如何在Delphi程序中集成MD5功能的方法,帮助开发者对字符串或文件进行哈希计算,以验证数据完整性或安全...

    jsp网页中用户登陆密码的MD5加密

    例如,可以在登录页面的jsp代码中使用MD5类来加密用户输入的密码,然后将加密后的密码存储在数据库中。在登录验证时,可以再次使用MD5类来加密用户输入的密码,并与数据库中的密码进行比较,以验证用户身份。 使用...

    PB9.0调用MD5加密示例,md5加密方法过程,PowerBuilder

    3. **编写代码**:在PowerBuilder的代码窗口中,可以创建一个函数来执行MD5加密。以下是一个简单的示例: ```pb // 引入.NET命名空间 import class System.Text; import class System.Security.Cryptography; ...

Global site tag (gtag.js) - Google Analytics