package com.yc.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; /** * 令牌生成类 * */ public class TokenUtil { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.print(generateToken(null)); } public static String generateToken(HttpServletRequest request) { HttpSession session = request.getSession(); try { byte id[] = session.getId().getBytes(); byte now[] = new Long(System.currentTimeMillis()).toString().getBytes(); MessageDigest md = MessageDigest.getInstance("MD5"); md.update(id); md.update(now); String token=bytesToHexString(md.digest()); session.setAttribute("_token",token ); return token; } catch (IllegalStateException e) { return (null); } catch (NoSuchAlgorithmException e) { return (null); } } public static String bytesToHexString(byte[] src){ StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length <= 0) { return null; } for (int i = 0; i < src.length; i++) { int v = src[i] & 0xFF; String hv = Integer.toHexString(v); if (hv.length() < 2) { stringBuilder.append(0); } stringBuilder.append(hv); } return stringBuilder.toString(); } }