Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.conf
Class Rot47PasswordEncoder

    java.lang.Object
      org.apache.cayenne.conf.Rot47PasswordEncoder

All Implemented Interfaces:
  PasswordEncoding

    public class Rot47PasswordEncoder

extends Object
implements PasswordEncoding

The ROT-47 password encoder passes the text of the database password through a simple Caesar cipher to obscure the password text. The ROT-47 cipher is similar to the ROT-13 cipher, but processes numbers and symbols as well. See the Wikipedia entry on ROT13 for more information on this topic.

Since:
  3.0
Author:
  Michael Gentry

Field Summary

Fields inherited from interface org.apache.cayenne.conf.PasswordEncoding
`standardEncoders`

Constructor Summary
`Rot47PasswordEncoder()`

Method Summary
`String` | `decodePassword(String encodedPassword, String salt)` Decodes an encoded database password.
`String` | `encodePassword(String normalPassword, String salt)` Encodes a normal/plain database password.
`static void` | `main(String[] args)` Small test program to run text through the ROT-47 cipher.
`String` | `rotate(String value)` Applies a ROT-47 Caesar cipher to the supplied value.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Rot47PasswordEncoder

    public Rot47PasswordEncoder()

Method Detail

### decodePassword

    public String decodePassword(String encodedPassword,
                                 String salt)

  Description copied from interface: `PasswordEncoding`
  Decodes an encoded database password.

  Specified by:
    `decodePassword` in interface `PasswordEncoding`
  Parameters:
    `encodedPassword` - - The encoded password to be decoded
    `salt` - - An optional data element which can be used to salt the algorithm.
  Returns:
    The decoded normal/plain plassword.

### encodePassword

    public String encodePassword(String normalPassword,
                                 String salt)

  Description copied from interface: `PasswordEncoding`
  Encodes a normal/plain database password.

  Specified by:
    `encodePassword` in interface `PasswordEncoding`
  Parameters:
    `normalPassword` - - The normal/plain password to be encoded
    `salt` - - An optional data element which can be used to salt the algorithm.
  Returns:
    The encoded password.

### rotate

    public String rotate(String value)

  Applies a ROT-47 Caesar cipher to the supplied value. Each letter in the supplied value is substituted with a new value rotated by 47 places. See ROT13 for more information (there is a subsection for ROT-47).

  A Unix command to perform a ROT-47 cipher is:

      tr '!-~' 'P-~!-O'

  Parameters:
    `value` - The text to be rotated.
  Returns:
    The rotated text.

### main

    public static void main(String[] args)

  Small test program to run text through the ROT-47 cipher. This program can also be run by hand to encode/decode values manually. The values passed on the command line are printed to standard out.

  Parameters:
    `args` - The array of text values (on the command-line) to be run through the ROT-47 cipher.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2007 Apache Cayenne. All Rights Reserved.