View Javadoc

1   /**
2    * Copyright 2010-2013 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.common.util;
17  
18  import org.jasypt.util.text.BasicTextEncryptor;
19  import org.jasypt.util.text.StrongTextEncryptor;
20  import org.jasypt.util.text.TextEncryptor;
21  
22  public class EncUtils {
23  
24  	/**
25  	 * Returns a <code>BasicTextEncryptor</code> that uses <code>password</code> to encrypt/decrypt.
26  	 */
27  	public static final TextEncryptor getTextEncryptor(String password) {
28  		return getTextEncryptor(EncryptionStrength.BASIC, password);
29  	}
30  
31  	/**
32  	 * Return a <code>BasicTextEncryptor</code> or <code>StrongTextEncryptor</code> depending on what <code>strength</code> is set to
33  	 */
34  	public static final TextEncryptor getTextEncryptor(EncryptionStrength strength, String password) {
35  		switch (strength) {
36  		case BASIC:
37  			BasicTextEncryptor basic = new BasicTextEncryptor();
38  			basic.setPassword(password);
39  			return basic;
40  		case STRONG:
41  			StrongTextEncryptor strong = new StrongTextEncryptor();
42  			strong.setPassword(password);
43  			return strong;
44  		default:
45  			throw new IllegalArgumentException("Encryption strength [" + strength + "] is unknown");
46  		}
47  	}
48  }