Package org.apache.cayenne.configuration
Class Rot13PasswordEncoder
java.lang.Object
org.apache.cayenne.configuration.Rot13PasswordEncoder
- All Implemented Interfaces:
PasswordEncoding
The ROT-13 password encoder passes the text of the database password through a simple
Caesar cipher to obscure the password text. The ROT-13 cipher only processes letters --
numbers and symbols are left untouched. ROT-13 is also a symmetrical cipher and
therefore provides no real encryption since applying the cipher to the encrypted text
produces the original source text. See the Wikipedia entry on ROT13 for more information on this
topic.
- Since:
- 3.0
-
Field Summary
Fields inherited from interface org.apache.cayenne.configuration.PasswordEncoding
standardEncoders
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondecodePassword
(String encodedPassword, String key) Decodes an encoded database password.encodePassword
(String normalPassword, String key) Encodes a normal/plain database password.Applies a ROT-13 Caesar cipher to the supplied value.
-
Constructor Details
-
Rot13PasswordEncoder
public Rot13PasswordEncoder()
-
-
Method Details
-
decodePassword
Description copied from interface:PasswordEncoding
Decodes an encoded database password.- Specified by:
decodePassword
in interfacePasswordEncoding
- Parameters:
encodedPassword
- - The encoded password to be decodedkey
- - An optional data element which can be used to unlock the password. Some encoders may require the key.- Returns:
- The decoded normal/plain password.
-
encodePassword
Description copied from interface:PasswordEncoding
Encodes a normal/plain database password.- Specified by:
encodePassword
in interfacePasswordEncoding
- Parameters:
normalPassword
- - The normal/plain password to be encodedkey
- - An optional data element which can be used to lock the password. Some encoders may require the key.- Returns:
- The encoded password.
-
rotate
Applies a ROT-13 Caesar cipher to the supplied value. Each letter in the supplied value is substituted with a new value rotated by 13 places in the alphabet. See ROT13 for more information.A Unix command to perform a ROT-13 cipher is:
tr "[a-m][n-z][A-M][N-Z]" "[n-z][a-m][N-Z][A-M]"
- Parameters:
value
- The text to be rotated.- Returns:
- The rotated text.
-