下载此文档

MD5加密.doc


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
可变在这里含义很简单,就是最终的加密结果是可变的,而非必需按标准MD5加密实现。Java类库security中的MessageDigest类就提供了MD5加密的支持,实现起来非常方便。为了实现更多效果,我们可以如下设计MD5工具类。
J次加密时的密码验证方法  
     */  
    public static boolean verifyPassword(String inputStr, String MD5Code, int times) {   
        return getMD5ofStr(inputStr, times).equals(MD5Code);   
    }   
    /**  
     * 提供一个测试的主函数  
     */  
    public static void main(String[] args) {   
        ("123:" + getMD5ofStr("123"));   
        ("123456789:" + getMD5ofStr("123456789"));   
        ("sarin:" + getMD5ofStr("sarin"));   
        ("123:" + getMD5ofStr("123", 4));   
    }   
}  
    可以看出实现的过程非常简单,因为由java类库提供了处理支持。但是要清楚的是这种方式产生的密码不是标准的MD5码,它需要进行移位处理才能得到标准MD5码。这个程序的关键之处也在这了,怎么可变?调整移位算法不就可变了么!不进行移位,也能够得到32位的密码,这就不是标准加密了,只要加密和验证过程使用相同的算法就可以了。
    MD5加密还是很安全的,像CMD5那些穷举破解的只是针对标准MD5加密的结果进行的,如果自定义移位算法后,它还有效么?可以说是无解的了,所以MD5非常安全可靠。
    为了更可变,还提供了多次加密的方法,可以在MD5基础之上继续MD5,就是对32位的第一次加密结果再MD5,恩,这样去破解?没有任何意义。
    这样在MIS系统中使用,安全可靠,欢迎交流,希望对使用者有用。
    我们最后看看由MD5加密算法实现的类,那是非常庞大的。
Java代码
import .*;   
  
/**  
 * **********************************************  
 * md5 类实现了RSA Data Security,   
 * 的RFC1321中的MD5 message-digest 算法。  
 * ***********************************************  
 */  
  
public class MD5 {   
    /* 下面这些S11-S44实际上是一个4*4的矩阵,在原始的C实现中是用#define 实现的,  
    这里把它们实现成为static final是表示了只读,切能在同一个进程空间内的多个  
    Instance间共享*/  
    static final int S11 = 7;   
    static final int S12 = 12;   
    static final int S13 = 17;   
    static final int S14 = 22;   
  
    static final int S21 = 5;   
    static final int S22 = 9;   
    static final int S23 = 14;   
    static final int S24 = 20;   
  
    static final int S31 = 4;   
    static final int S32 = 11;   
   

MD5加密 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人iris028
  • 文件大小32 KB
  • 时间2022-06-18