2006-12-09

在JSP中如何实现MD5加密

来源: 本站收集整理 作者:佚名 评论 0 条
 
output[j 1] = (byte)((input[i] >>> 8) & 0xffL);
output[j 2] = (byte)((input[i] >>> 16) & 0xffL);
output[j 3] = (byte)((input[i] >>> 24) & 0xffL);
}
}

/*Decode把byte数组按顺序合成成long数组,因为java的long类型是64bit的,
只合成低32bit,高32bit清零,以适应原始C实现的用途
*/
private void Decode (long[] output, byte[] input, int len) {
int i, j;


for (i = 0, j = 0; j < len; i , j = 4)
output[i] = b2iu(input[j]) |
(b2iu(input[j 1]) << 8) |
(b2iu(input[j 2]) << 16) |
(b2iu(input[j 3]) << 24);

return;
}

/*
b2iu是我写的一个把byte按照不考虑正负号的原则的"升位"程序,因为java没有unsigned运算
*/
public static long b2iu(byte b) {
return b < 0 ? b & 0x7F 128 : b;
}

/*byteHEX(),用来把一个byte类型的数转换成十六进制的ASCII表示,
 因为java中的byte的toString无法实现这一点,我们又没有C语言中的
sprintf(outbuf,"X",ib)
*/
public static String byteHEX(byte ib) {
char[] Digit = { '0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F' };
char [] ob = new char[2];
ob[0] = Digit[(ib >>> 4) & 0X0F];
ob[1] = Digit[ib & 0X0F];
String s = new String(ob);
return s;
}

public static void main(String args[]) {


MD5 m = new MD5();
if (Array.getLength(args) == 0) { //假如没有参数,执行标准的Test Suite

System.out.println("MD5 Test suite:");
System.out.println("MD5(\"\"):" m.getMD5ofStr(""));
System.out.println("MD5(\"a\"):" m.getMD5ofStr("a"));
System.out.println("MD5(\"abc\"):" m.getMD5ofStr("abc"));
System.out.println("MD5(\"message digest\"):" m.get
共8页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:C#实现类似qq的屏幕截图程序  
下一篇:JSP任意验证码
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号