Class Blowfish

  • All Implemented Interfaces:
    Encryptor

    public class Blowfish
    extends Object
    implements Encryptor
    A class that provides easy Blowfish encryption.
    Author:
    Markus Hahn <markus_hahn@gmx.net>, Gaston Dombiak
    • Constructor Detail

      • Blowfish

        public Blowfish()
        Creates a new Blowfish object using the default key
      • Blowfish

        public Blowfish​(String password)
        Creates a new Blowfish object using the specified key (oversized password will be cut).
        Parameters:
        password - the password (treated as a real unicode array)
    • Method Detail

      • encryptString

        public String encryptString​(String sPlainText)
        Encrypts a string (treated in UNICODE).
        Parameters:
        sPlainText - string to encrypt
        Returns:
        encrypted string in binhex format
      • decryptString

        public String decryptString​(String sCipherText)
        decrypts a hexbin string (handling is case sensitive)
        Parameters:
        sCipherText - hexbin string to decrypt
        Returns:
        decrypted string (null equals an error)
      • destroy

        public void destroy()
        destroys (clears) the encryption engine, after that the instance is not valid anymore
      • encrypt

        public String encrypt​(String value)
        Description copied from interface: Encryptor
        Encrypt a clear text String.
        Specified by:
        encrypt in interface Encryptor
        Parameters:
        value - The clear text attribute
        Returns:
        The encrypted attribute, or null
      • encrypt

        public String encrypt​(String value,
                              byte[] iv)
        Description copied from interface: Encryptor
        Encrypt a clear text String.
        Specified by:
        encrypt in interface Encryptor
        Parameters:
        value - The clear text attribute
        iv - The IV to use, or null for the default IV
        Returns:
        The encrypted attribute, or null
      • decrypt

        public String decrypt​(String value)
        Description copied from interface: Encryptor
        Decrypt an encrypted String.
        Specified by:
        decrypt in interface Encryptor
        Parameters:
        value - The encrypted attribute in Base64 encoding
        Returns:
        The clear text attribute, or null
      • decrypt

        public String decrypt​(String value,
                              byte[] iv)
        Description copied from interface: Encryptor
        Decrypt an encrypted String.
        Specified by:
        decrypt in interface Encryptor
        Parameters:
        value - The encrypted attribute in Base64 encoding
        iv - The IV to use, or null for the default IV
        Returns:
        The clear text attribute, or null
      • setKey

        public void setKey​(String key)
        Description copied from interface: Encryptor
        Set the encryption key. This will apply the user-defined key, truncated or filled (via the default key) as needed to meet the key length specifications.
        Specified by:
        setKey in interface Encryptor
        Parameters:
        key - The encryption key