KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > cofax > cms > login > CofaxDbLogin


1 /*
2  * Créé le 26 avr. 05
3  *
4  * Pour changer le modèle de ce fichier généré, allez à :
5  * Fenêtre>Préférences>Java>Génération de code>Code et commentaires
6  */

7 package org.cofax.cms.login;
8
9 import java.security.MessageDigest JavaDoc;
10 import java.security.NoSuchAlgorithmException JavaDoc;
11 import java.util.HashMap JavaDoc;
12
13 import javax.servlet.ServletConfig JavaDoc;
14
15 import org.cofax.DataStore;
16 import org.cofax.cms.CofaxToolsDbUtils;
17 import org.cofax.cms.CofaxToolsUtil;
18
19 /**
20  * 26 avr. 05
21  *
22  * @author Nicolas Richeton (Smile)
23  */

24 public class CofaxDbLogin implements ILoginHandler {
25
26     /*
27      * (non-Javadoc)
28      *
29      * @see org.cofax.cms.login.ICofaxLogin#init(java.util.Properties)
30      */

31     public void init(ServletConfig JavaDoc servletConfig) {
32         // TODO Raccord de méthode auto-généré
33

34     }
35
36     /*
37      * (non-Javadoc)
38      *
39      * @see org.cofax.cms.login.ICofaxLogin#getUserHash(org.cofax.DataStore,
40      * java.lang.String, java.lang.String)
41      */

42     public HashMap JavaDoc getUserHash(DataStore db, String JavaDoc login, String JavaDoc password) {
43         HashMap JavaDoc fillReq = new HashMap JavaDoc();
44         fillReq.put("login", login);
45
46         String JavaDoc tag = "";
47
48         String JavaDoc md5Password = md5Password(login, password);
49         tag = CofaxToolsDbUtils.fillTag(db, "getUserInfoByLoginPassword");
50         fillReq.put("password", md5Password);
51
52         HashMap JavaDoc userInfoHash = CofaxToolsDbUtils.getNameValuePackageHash(db, fillReq, tag);
53
54         return userInfoHash;
55     }
56
57     /***************************************************************************
58      * helper method for MD5 functions
59      **************************************************************************/

60     private static String JavaDoc toHex(byte[] digest) {
61         StringBuffer JavaDoc buf = new StringBuffer JavaDoc();
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 JavaDoc md5Password(String JavaDoc login, String JavaDoc password) {
69         String JavaDoc hash = "";
70         String JavaDoc md5Password = "";
71         try {
72             MessageDigest JavaDoc md = MessageDigest.getInstance("MD5");
73             hash = login + ":" + password;
74
75             byte[] rawPass = hash.getBytes();
76             try {
77                 md.update(rawPass);
78             } catch (Exception JavaDoc e) {
79                 CofaxToolsUtil.log("CofaxToolsLogin login : " + e);
80             }
81             md5Password = toHex(md.digest());
82         } catch (NoSuchAlgorithmException JavaDoc nsae) {
83             CofaxToolsUtil.log("CofaxToolsLogin login : " + nsae);
84         }
85
86         return md5Password;
87     }
88 }
89
Popular Tags