Package lumis.portal.crypto
Class AbstractCipher
- java.lang.Object
-
- lumis.portal.crypto.AbstractCipher
-
- All Implemented Interfaces:
ICipher
,ICipherSpi
- Direct Known Subclasses:
MessageDigestCipher
,SymmetricCipher
@StableMinor(version="14.0", sinceVersion="5.5") public abstract class AbstractCipher extends Object implements ICipherSpi
An abstractICipher
implementation for easing concrete implementations.This abstract class provides implementations for the string-based encryption and decryption operations, by encoding the encrypted bytes in Base64.
- Since:
- 5.5.0
- Version:
- $Revision: 24477 $ $Date: 2021-04-28 11:30:36 -0300 (Wed, 28 Apr 2021) $
-
-
Constructor Summary
Constructors Constructor Description AbstractCipher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
decrypt(String value)
Decrypts a string.String
encrypt(String value)
Encrypts a string.protected String
getStringCharset()
The charset used to perform the encoding between String and bytes of the plain text string values inencrypt(String)
anddecrypt(String)
.protected boolean
getUseURLSafeBase64Variant()
Indicates if a URL safe Base64 variant is to be used when encoding bytes to String.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface lumis.portal.crypto.ICipherSpi
init
-
-
-
-
Method Detail
-
getStringCharset
protected String getStringCharset()
The charset used to perform the encoding between String and bytes of the plain text string values inencrypt(String)
anddecrypt(String)
.The default value is UTF-8. This method may be overridden to change it.
- Returns:
- the charset.
- Since:
- 5.5.0
-
getUseURLSafeBase64Variant
protected boolean getUseURLSafeBase64Variant()
Indicates if a URL safe Base64 variant is to be used when encoding bytes to String.The default value is true. This method may be overridden to change it.
- Returns:
- true if a URL safe variant is to be used, false if the standard Base64 is to be used.
- Since:
- 5.5.0
-
encrypt
public String encrypt(String value)
Encrypts a string.This abstract implementation converts the given string to bytes based on
getStringCharset()
, encrypts it withICipher.encrypt(byte[])
, and encodes the result to a string using the Base64 algorithm.
-
decrypt
public String decrypt(String value) throws InvalidEncryptedValueException
Decrypts a string.This abstract implementation decodes the value to bytes using the Base64 algorithm, decrypts it with
ICipher.decrypt(byte[])
, and creates the resulting plain text string based ongetStringCharset()
.- Specified by:
decrypt
in interfaceICipher
- Parameters:
value
- the encrypted string.- Returns:
- the string decrypted.
- Throws:
InvalidEncryptedValueException
- ifvalue
is incompatible with this cipher (probably was not encrypted by it or is corrupted).- Since:
- 5.5.0
-
-