日期:2014-05-16  浏览次数:20591 次

java验证码之MD5加密和ajax实现无刷新


首先我想说,大家都知道加密是怎么回事吧,像密码的话,不加密的话登陆时被黑客拦截就很容易被盗号啦。。。

验证码加密在我看来也就防止被暴力注册神马的。。。个人还是在sso的单点登陆(日后会做个总结)用加密比较多。

废话不多说,给代码就是了。。。


package com.util;

import java.security.MessageDigest;


public class Encode {

public String encode(String str, String algorithm) {

if (str == null) {

return null;

}

StringBuilder sb = new StringBuilder();//声明并实例化StringBuilder类的对象

try {

MessageDigest code = MessageDigest.getInstance(algorithm);//创建使用MD5加密算法的对象

code.update(str.getBytes());//将要加密信息中的所有字节提供给该对象

byte[] bs = code.digest();//调用digest方法完成消息摘要的计算,并以字节数组的形式返回消息摘要

//将加密后的字节数组转换成十六进制的字符串,形成最终的密文

for (int i = 0; i < bs.length; i++) {

int v = bs[i] & 0xFF;

if (v < 16) {

sb.append(0);

}

sb.append(Integer.toHexString(v));

}

} catch (Exception e) {

e.printStackTrace();

}

return sb.toString().toUpperCase();//将加密后的字符串中的英文字母转换为大写

}

public String encodeByMD5(String str){

return encode(str,"MD5");

}

}


神马是ajax实现验证码的无刷新验证呢?对ajax了解的都知道,就是不用加载整个页面,只需对验证码那块进行局部的刷新,就是我们常看到的“看不清?换一个”的效果。

我这里想实现的呢,是只有一个文本框,点击文本框后才出现验证码(当然出现的验证码也有“看不清可以换一个”及其效果),在输入验证码后呢,还有一个对比,如果输入正确,文本框后出现打钩字样,否则打叉(或者类似功能)。

?在