1 16 package org.apache.juddi.cryptor; 17 18 import org.apache.commons.logging.Log; 19 import org.apache.commons.logging.LogFactory; 20 import org.apache.juddi.util.Config; 21 import org.apache.juddi.util.Loader; 22 23 31 public abstract class CryptorFactory 32 { 33 private static Log log = LogFactory.getLog(CryptorFactory.class); 35 36 private static final String IMPL_KEY = "juddi.cryptor"; 38 private static final String DEFAULT_IMPL = "org.apache.juddi.cryptor.DefaultCryptor"; 39 40 private static Cryptor cryptor = null; 42 43 48 public static Cryptor getCryptor() 49 { 50 if (cryptor == null) 51 cryptor = createCryptor(); 52 return cryptor; 53 } 54 55 60 private static synchronized Cryptor createCryptor() 61 { 62 if (cryptor != null) 63 return cryptor; 64 65 String className = Config.getStringProperty(IMPL_KEY,DEFAULT_IMPL); 67 68 log.debug("Cryptor Implementation = " + className); 70 71 Class cryptorClass = null; 72 try 73 { 74 cryptorClass = Loader.getClassForName(className); 76 } 77 catch(ClassNotFoundException e) 78 { 79 log.error("The specified Cryptor class '" + className + 80 "' was not found in classpath."); 81 log.error(e); 82 } 83 84 try 85 { 86 cryptor = (Cryptor)cryptorClass.newInstance(); 88 } 89 catch(Exception e) 90 { 91 log.error("Exception while attempting to instantiate the " + 92 "implementation of Cryptor: " + cryptorClass.getName() + 93 "\n" + e.getMessage()); 94 log.error(e); 95 } 96 97 return cryptor; 98 } 99 100 101 102 103 104 105 106 public static void main(String [] args) 107 throws Exception 108 { 109 Cryptor cryptor = CryptorFactory.getCryptor(); 110 111 String encryptedText = cryptor.encrypt("password"); 112 System.out.println("EnCrypted text [" + encryptedText + "]"); 113 114 String decryptedText = cryptor.decrypt(encryptedText); 115 System.out.println("DeCrypted text " + decryptedText); 116 } 117 } | Popular Tags |