1 7 package org.cofax.cms.login; 8 9 import java.security.MessageDigest ; 10 import java.security.NoSuchAlgorithmException ; 11 import java.util.HashMap ; 12 13 import javax.servlet.ServletConfig ; 14 15 import org.cofax.DataStore; 16 import org.cofax.cms.CofaxToolsDbUtils; 17 import org.cofax.cms.CofaxToolsUtil; 18 19 24 public class CofaxDbLogin implements ILoginHandler { 25 26 31 public void init(ServletConfig servletConfig) { 32 34 } 35 36 42 public HashMap getUserHash(DataStore db, String login, String password) { 43 HashMap fillReq = new HashMap (); 44 fillReq.put("login", login); 45 46 String tag = ""; 47 48 String md5Password = md5Password(login, password); 49 tag = CofaxToolsDbUtils.fillTag(db, "getUserInfoByLoginPassword"); 50 fillReq.put("password", md5Password); 51 52 HashMap userInfoHash = CofaxToolsDbUtils.getNameValuePackageHash(db, fillReq, tag); 53 54 return userInfoHash; 55 } 56 57 60 private static String toHex(byte[] digest) { 61 StringBuffer buf = new StringBuffer (); 62 for (int i = 0; i < digest.length; i++) { 63 buf.append(Integer.toHexString(0x0100 + (digest[i] & 0x00ff)).substring(1)); 64 } 65 return buf.toString(); 66 } 67 68 private static String md5Password(String login, String password) { 69 String hash = ""; 70 String md5Password = ""; 71 try { 72 MessageDigest md = MessageDigest.getInstance("MD5"); 73 hash = login + ":" + password; 74 75 byte[] rawPass = hash.getBytes(); 76 try { 77 md.update(rawPass); 78 } catch (Exception e) { 79 CofaxToolsUtil.log("CofaxToolsLogin login : " + e); 80 } 81 md5Password = toHex(md.digest()); 82 } catch (NoSuchAlgorithmException nsae) { 83 CofaxToolsUtil.log("CofaxToolsLogin login : " + nsae); 84 } 85 86 return md5Password; 87 } 88 } 89 | Popular Tags |