日期:2014-05-16 浏览次数:20617 次
首先我想说,大家都知道加密是怎么回事吧,像密码的话,不加密的话登陆时被黑客拦截就很容易被盗号啦。。。
验证码加密在我看来也就防止被暴力注册神马的。。。个人还是在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了解的都知道,就是不用加载整个页面,只需对验证码那块进行局部的刷新,就是我们常看到的“看不清?换一个”的效果。
我这里想实现的呢,是只有一个文本框,点击文本框后才出现验证码(当然出现的验证码也有“看不清可以换一个”及其效果),在输入验证码后呢,还有一个对比,如果输入正确,文本框后出现打钩字样,否则打叉(或者类似功能)。
?在