联系我们

  服务热线:
  • 杭 州 :400-889-1122
  • 上 海 :400-899-1122
  • 深 圳 :0755-88848278
  • 宁 波 :0574-87298883
  • 广 州 :400-889-1122
  • 温 州 :0577-88844623
数据恢复品牌
  • NAS服务器
  • IBM NAS HP NAS SUN NAS EMC NAS Dell NAS 联想 NAS 清华同方NAS 浪潮NAS 方正 NAS
  • 硬盘系列
  • 易拓(Excelstor) 昆腾(Quantum) 三星(SAMSUNG) 日立IBM(HITACHI) 希捷(Seagate) 迈拓(Maxtor) 西部数据(WD) 东芝(TOSHIBA) 富士通(FUJITSU)
  • 服务器系列
  • IBM系列 HP 系列 Dell系列 Sun系列 联想系列 康柏系列 浪潮系列 长城系列 曙光系列
  • 文件系统
  • windows系列 Solaris系列 Novell系列 IBM-AIX系列 MAC系列 Linux系列 SCO系列 FreeBSD系列 HP-UX系列
当前位置:技 术首页 >> 数据恢复 >> 基于J2ME的MD5算法类
基于J2ME的MD5算法类
2006-07-08 01:19:07  作者:  来源:  浏览次数:862  文字大小:【】【】【

//实现MD5算法的类,提供一个静态的函数toMD5()供调用;
//还提供一个getMD5ofStr()函数生成一个MD5加密串;
public class MD5
{
    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;
    static final int S33 = 16;
    static final int S34 = 23;
    static final int S41 = 6;
    static final int S42 = 10;
    static final int S43 = 15;
    static final int S44 = 21;
    static final char Hex[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    static final byte PADDING[] = {
        -128, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0
    };
    private long state[];
    private long count[];
    private byte buffer[];
    public String digestHexStr;
    private byte digest[];
    private byte test;
    public String getMD5ofStr(String s)
    {//返回MD5串;
        int i;
        md5Init();
        md5Update(s.getBytes(), s.length());
        md5Final();
        digestHexStr = "";
        for(i = 0;i<16;i++)
          digestHexStr=digestHexStr+byteHEX(digest[i]);
        return digestHexStr;
    }
    public MD5()
    {
        state = new long[4];
        count = new long[2];
        buffer = new byte[64];
        digest = new byte[16];
        md5Init();
    }
    private void md5Init()
    {//初始化部分变量;
        count[0] = 0L;
        count[1] = 0L;
        state[0] = 0x67452301L;

友情链接 | SQL数据库恢复 | 硬盘数据恢复 | Raid服务器数据恢复 | 公司简介 | 数据恢复