001 /**
002 * Copyright 2010-2013 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.common.util.enc;
017
018 import org.jasypt.util.text.BasicTextEncryptor;
019 import org.jasypt.util.text.StrongTextEncryptor;
020 import org.jasypt.util.text.TextEncryptor;
021
022 public class EncUtils {
023
024 /**
025 * Returns a <code>BasicTextEncryptor</code> that uses <code>password</code> to encrypt/decrypt.
026 */
027 public static TextEncryptor getTextEncryptor(String password) {
028 return getTextEncryptor(password, EncStrength.DEFAULT_VALUE);
029 }
030
031 /**
032 * Return a <code>BasicTextEncryptor</code> or <code>StrongTextEncryptor</code> depending on what <code>strength</code> is set to
033 */
034 public static TextEncryptor getTextEncryptor(String password, EncStrength strength) {
035 switch (strength) {
036 case BASIC:
037 BasicTextEncryptor basic = new BasicTextEncryptor();
038 basic.setPassword(password);
039 return basic;
040 case STRONG:
041 StrongTextEncryptor strong = new StrongTextEncryptor();
042 strong.setPassword(password);
043 return strong;
044 default:
045 throw new IllegalArgumentException("Encryption strength [" + strength + "] is unknown");
046 }
047 }
048 }