多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > 項目實踐――MD5加密

項目實踐――MD5加密

來源:程序員人生   發(fā)布時間:2015-06-11 09:11:57 閱讀次數(shù):3487次

  在項目中,需要用MD5進行加密,這里分享1個MD5加密類。

MD5加密類:



public class Md5 { private static String DEFAULT_JCE = "com.sun.crypto.provider.SunJCE"; private static String IBM_JCE = "com.ibm.crypto.provider.IBMJCE"; protected static final Log log = LogFactory.getLog(Md5.class); /** * 初始化系統(tǒng)加密算法提供者 */ static { try { Security.addProvider((Provider)Class.forName(DEFAULT_JCE).newInstance()); } catch (Exception e) { log.info(e); try { Security.addProvider((Provider)Class.forName(IBM_JCE).newInstance()); } catch (Exception ex) { log.info(ex); } } } /** * get hex string * * @param x * @return */ private static String hexDigit(byte x) { StringBuffer sb = new StringBuffer(); char c; // First nibble c = (char) ((x >> 4) & 0xf); if (c > 9) { c = (char) ((c - 10) + 'a'); } else { c = (char) (c + '0'); } sb.append(c); // Second nibble c = (char) (x & 0xf); if (c > 9) { c = (char) ((c - 10) + 'a'); } else { c = (char) (c + '0'); } sb.append(c); return sb.toString(); } /** * 加密 * * @param content * 加密內(nèi)容 * @return 加密串 */ public static String encrypt(String content) { try { MessageDigest algorithm = null; algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); if (content != null) { algorithm.reset(); algorithm.update(content.getBytes()); byte digest[] = algorithm.digest(); StringBuffer hexString = new StringBuffer(); int digestLength = digest.length; for (int i = 0; i < digestLength; i++) { hexString.append(hexDigit(digest[i])); } return hexString.toString(); } else { return ""; } } catch (NoSuchAlgorithmException ex) { //加密進程中出現(xiàn)異常,采取原始的的內(nèi)容串 return content; } } }



運行測試:



@Test public void testMd5(){ System.err.println(this.encrypt("123456")); }


結(jié)果:

e10adc3949ba59abbe56e057f20f883e



用戶登錄:


@RequestMapping("/login.do") @ResponseBody @Override public Object login(HttpServletRequest request, HttpServletResponse response) { Logger log = Logger.getLogger(getClass()); String biskeep = ""; Md5 md5=new Md5(); try { String loginName = request.getParameter("loginName"); String loginPassword = md5.encrypt(request.getParameter("loginPassword")); HttpSession session = request.getSession(); if (loginName != null && !loginName.trim().equals("") && loginPassword != null && !loginPassword.trim().equals("")) { SysUser user = userService.queryUser(loginName, loginPassword); biskeep = user.getBiskeep(); // 查詢該用戶的部門信息 String deptIdStr = user.getDepartmentid(); SysDept sysDept=deptService.queryEntityById(SysDept.class, deptIdStr); // SysDept sysDept=null; // 查詢該用戶的角色信息,應(yīng)當是1個list集合 String roleIdStr = roleService.getRoleIdStr(user.getId()); session.setAttribute(ConstValues.LOGIN_DEPT_ID, deptIdStr); session.setAttribute(ConstValues.LOGIN_ROLE_ID, roleIdStr); session.setAttribute(ConstValues.LOGIN_DEPT_TYPE, sysDept.getCdeptno()); session.setAttribute("depId", deptIdStr); // 將用戶信息放入到session中去 session.setAttribute(ConstValues.LOGIN_USER_NAME,user.getCloginname()); session.setAttribute(ConstValues.LOGIN_USER_ID, user.getId()); session.setAttribute(ConstValues.LOGIN_FIRSTNAME,user.getFirstname()); session.setAttribute(ConstValues.LOGIN_LASTNAME,user.getLastname()); session.setAttribute(ConstValues.LOGIN_USER_PASSWORD, user.getCpassword()); String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } log.info("本機ip:" + ip); session.setAttribute(ConstValues.LOGIN_IP, ip); Map<String, String> param = new HashMap<String, String>(); param.put("ip", ip); } JSONObject obj = createSuccessMessage(null); obj.put("biskeep", biskeep); String depId = (String) session.getAttribute(ConstValues.LOGIN_DEPT_ID); String ss = (String) session.getAttribute(ConstValues.LOGIN_USER_ID); return obj.toString(); } catch (Exception e) { e.printStackTrace(); return createErrorMessage(e.getMessage()).toString(); } }



  思路很簡單,數(shù)據(jù)庫存的密碼是經(jīng)過MD5加密過的,將用戶登錄的密碼亦經(jīng)過MD5加密,匹配成功便可登錄





生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: www.激情| 日韩在线小视频 | 亚洲国产系列一区二区三区 | 国产福利精品在线观看 | 波多野结衣在线观看一区二区 | 五月国产综合视频在线观看 | 久久精品国产福利国产琪琪 | 亚洲成人综合网站 | 国产一区二区三区成人久久片 | 最近中文字幕完整在线看一 | 日韩精品久久久毛片一区二区 | 欧美人与禽x0x0牲伦交 | 欧美在线视频不卡 | 欧美高清国产 | 欧美一区亚洲二区 | 国产精品麻豆高清在线观看 | 日本不卡视频 | 曰本人一级毛片免费完整视频 | 国产免费一区二区三区在线观看 | 欧美一区二区三区在观看 | 欧美e片成 人 在线播放乱妇 | 国产香蕉97碰碰久久人人 | 国产日韩久久久精品影院首页 | 久久久久在线观看 | 日本xxx在线观看 | 亚洲精品国产一区二区三区在 | 中文无码久久精品 | www.av视频在线观看 | 欧美性活生活视频 | 国产女人体一区二区三区 | 国产福利片在线 易阳 | 亚洲小视频网站 | 一本大道道香蕉免费 | 精品卡通动漫在线观看视频一区 | 亚洲国产成人资源在线桃色 | 亚洲日韩成人 | 激情小视频 | 女人18毛片a级毛片一区二区 | 亚洲天堂视频在线播放 | 国产成人无精品久久久 | 成熟女人免费一级毛片 |