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="16.0", sinceVersion="5.5") public abstract class AbstractCipher extends java.lang.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: 25808 $ $Date: 2023-07-04 15:20:55 -0300 (Tue, 04 Jul 2023) $
-
-
Constructor Summary
Constructors Constructor Description AbstractCipher()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
decrypt(java.lang.String value)
Decrypts a string.java.lang.String
encrypt(java.lang.String value)
Encrypts a string.protected java.lang.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 java.lang.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 java.lang.String encrypt(java.lang.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 java.lang.String decrypt(java.lang.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
-
-