找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3880|回复: 0

MD5加密算法---简析 |jinzi12345678

[复制链接]
发表于 2011-12-21 11:26:29 | 显示全部楼层 |阅读模式
MD5加密算法由于其具有较好的安全性,加之商业也可以免费使用该算法,因此该加密算法被广泛使用,md5算法主要运用在数字签名、文件完整性验证以及口令加密等方面。
在一般情况下MD5这种加密算法是比较安全的。2004年山东大学王小云教授破解了这种一直被认为很安全的加密算法。从此MD5不在安全……但这种算法,不能就这么“昙花一现"
还是有必要去学习一下的……
写了一个简单的例子:
==============================
  1. package cn.edu.bzu;
  2. import java.security.*;
  3. //使用MD5加密算法对超级管理员信息进行加密
  4. public class SimpleEncryption {
  5. public final static String MD5(String s) {
  6.     try {
  7.              byte[] btInput = s.getBytes();
  8.              MessageDigest mdInst = MessageDigest.getInstance("MD5");
  9.              mdInst.update(btInput);
  10.              byte[] md = mdInst.digest();
  11.              StringBuffer sb = new StringBuffer();
  12.              for (int i = 0; i < md.length; i++) {
  13.               int val = ((int) md[i]) & 0xff;
  14.               if (val < 16)
  15.                sb.append("0");
  16.               sb.append(Integer.toHexString(val));
  17.              }
  18.              return sb.toString();
  19.           }catch (Exception e) {
  20.             return s;                        //加密失败返回源字符串
  21.     }
  22. }
  23.         public static void main(String args[]){
  24.                         String s[]={"小金","男","我是程序员"};
  25.                         for(int i=0;i<s.length;i++){
  26.                                 System.out.println(MD5(s[i]));
  27.                         }
  28.                
  29.         }
  30. }
复制代码
最后结果:
18b1d50501e154c5b0665ada4dea5fa51d2efed5ab3948269942da329d79b2124086617ffd9818e87bb4f59413add9c7
=====================
这是一种不可逆算法。
再次对数据进行验证的时候,不能说事解密。只能说是重新再把数据加密一下,得到结果在和早期加密后的结果进行比对……
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-22 17:37 , Processed in 0.017781 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表