/*
* Copyright (c) 2017 OBiBa. All rights reserved.
*
* This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.obiba.magma.datasource.crypt;
import javax.crypto.Cipher;
/**
* A {@code Cipher} factory for encrypting and decrypting datasource entries.
*/
public interface DatasourceCipherFactory {
/**
* Returns a newly initialised instance of a {@code Cipher} configured for encryption.
*
* @return a new encrypting {@code Cipher} instance.
*/
Cipher createEncryptingCipher();
/**
* Returns a newly initialised instance of a {@code Cipher} configured for decryption.
*
* @return a new decrypting {@code Cipher} instance.
*/
Cipher createDecryptingCipher();
}