@StableMinor(version="12.3", sinceVersion="5.5") public abstract class AbstractCipher extends Object implements ICipherSpi
ICipher
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.
Constructor and Description |
---|
AbstractCipher() |
Modifier and Type | Method and 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 in
encrypt(String) and decrypt(String) . |
protected boolean |
getUseURLSafeBase64Variant()
Indicates if a URL safe Base64 variant is to be used when encoding
bytes to String.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
init
protected String getStringCharset()
encrypt(String)
and decrypt(String)
.
The default value is UTF-8. This method may be overridden to change it.
protected boolean getUseURLSafeBase64Variant()
The default value is true. This method may be overridden to change it.
public String encrypt(String value)
This abstract implementation converts the given string to bytes based
on getStringCharset()
, encrypts it with ICipher.encrypt(byte[])
,
and encodes the result to a string using the Base64 algorithm.
public String decrypt(String value) throws InvalidEncryptedValueException
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 on getStringCharset()
.
decrypt
in interface ICipher
value
- the encrypted string.InvalidEncryptedValueException
- if value
is
incompatible with this cipher (probably was not encrypted by it or
is corrupted).LumisXP 12.3.0.200408 - Copyright © 2006–2020 Lumis EIP Tecnologia da Informação LTDA. All Rights Reserved.