北京数据恢复 北京 深圳数据恢复 深圳 上海数据恢复 上海 成都数据恢复 成都 重庆数据恢复 重庆 浙江数据恢复 浙江 沈阳数据恢复 沈阳 福建数据恢复 福建 昆明数据恢复 昆明 天津数据恢复 天津
北亚数据恢复中心
网站首页
Index
公司概况
Company
公司动态
Dynamic
服务项目
Service
成功案例
Case
服务报价
Price
技术专区
Technical
联系我们
Contacts
服务网点
Alliance
技术论坛
BBS
 
文 章 导 航
数据恢复技术文章
硬盘维修技术文章
  您现在的位置是:首页>>技术专区>>硬盘维修文章>>正文
 
基于J2ME的MD5算法类

作者:  来源: 日期:2007-4-17 11:59:22 点击:


        count[1] += i >>> 29;
        int l = 64 - k;
        int j;
        if(i >= l)
        {
            md5Memcpy(buffer, abyte0, k, 0, l);
            md5Transform(buffer);
            for(j = l; j + 63 < i; j += 64)
            {
                md5Memcpy(abyte1, abyte0, 0, j, 64);
                md5Transform(abyte1);
            }
            k = 0;
        } else
        {
            j = 0;
        }
        md5Memcpy(buffer, abyte0, k, j, i - j);
    }
    private void md5Final()
    {//最终处理,将得到的128位(16字节)MD5码存放在digest数组中
        byte abyte0[] = new byte[8];
        Encode(abyte0, count, 8);
        int i = (int)(count[0] >>> 3) & 0x3f;
        int j = i >= 56 ? 120 - i : 56 - i;
        md5Update(PADDING, j);
        md5Update(abyte0, 8);
        Encode(digest, state, 16);
    }
    private void md5Memcpy(byte abyte0[], byte abyte1[], int i, int j, int k)
    {
        for(int l = 0; l < k; l++)
            abyte0[i + l] = abyte1[j + l];
    }
    private void md5Transform(byte abyte0[])
    {
        long l = state[0];
        long l1 = state[1];
        long l2 = state[2];
        long l3 = state[3];
        long al[] = new long[16];
        Decode(al, abyte0, 64);
        l = FF(l, l1, l2, l3, al[0], 7L, 0xd76aa478L);
        l3 = FF(l3, l, l1, l2, al[1], 12L, 0xe8c7b756L);
        l2 = FF(l2, l3, l, l1, al[2], 17L, 0x242070dbL);

本新闻共6页,当前在第3页  1  2  3  4  5  6  

 
上一篇: SATA硬盘安装使用必读问答集
下一篇: 初学FreeBSD您必須知道的事
返回首页 | 联系我们 | 关于我们 | 友情连接 | 网站地图 | RSS聚合