java md5 c_java MD5加密工具类

package com.person.util;

import java.lang.reflect.Array;

public class MD5 {

/*

下面这些

S11-S44

实际上是

\uFFFD

\uFFFD4*4

的矩阵,在原始的

C

实现中是

\uFFFD#define

现的,

这里把它们实现成为

static final

是表示了只读,切能在同一个进程空间内的多

\uFFFD

Instance

\uFFFD*/

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 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};

/*

面的三个成员是

MD5

计算过程中用到的

3

个核心数据,在原始的

C

实现

\uFFFD

定义到

MD5_CTX

结构

\uFFFD

*/

private long[] state = new long[4];

// state (ABCD)

private long[] count = new long[2];

// number of bits, modulo 2^64 (lsb first)

private byte[] buffer = new byte[64]; // input buffer

/* digestHexStr MD5

的唯

\uFFFD \uFFFD

个公共成员,是最新一次计算结果的

\uFFFD 16

ASCII

表示

.

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值