Class EncryptionTool


  • public class EncryptionTool
    extends java.lang.Object
    Encryption toolbox
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ALGO_EC
      EC algorithm
      static java.lang.String ALGO_RSA
      RSA algorithm
      static java.lang.String ALGO_SHA1
      SHA-1 algorithm
      static java.lang.String ALGO_SHA256
      SHA-256 algorithm
      static java.lang.String ALGO_SHA512
      SHA-512 algorithm
      static java.lang.String BEGIN_CERT
      Begin certificate
      static java.lang.String BEGIN_PRIVKEY
      Begin certificate
      static java.lang.String END_CERT
      End certficate
      static java.lang.String END_PRIVKEY
      End certficate
      static java.lang.String HMAC_SHA1
      Hmac-SHA1 algorithm name
      static java.lang.String HMAC_SHA256
      Hmac-SHA256 algorithm name
      static java.lang.String HMAC_SHA512
      Hmac-SHA5212 algorithm name
      static java.lang.String KEYSTORE_JKS
      JKS keystore type
      static java.lang.String KEYSTORE_PKCS12
      PKCS12 keystore type
    • Constructor Summary

      Constructors 
      Constructor Description
      EncryptionTool()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] decrypt​(byte[] value, java.lang.String key)
      Decrypt byte array value
      static java.lang.String decrypt​(java.lang.String value, java.lang.String key)
      Decrypt string value
      static byte[] encrypt​(byte[] value, java.lang.String key)
      Encrypt byte array value to byte array
      static java.lang.String encrypt​(java.lang.String value, java.lang.String key)
      Encrypt string value to string
      static java.lang.String[] readCertificateAndKey​(byte[] keystore, java.lang.String type, java.lang.String alias, java.lang.String pwd, boolean format)
      Read certificate and private key from a keystore
      static java.lang.String[] readCertificateAndKey​(java.io.File keystore, java.lang.String type, java.lang.String alias, java.lang.String pwd, boolean format)
      Read certificate and private key from a keystore
      static java.lang.String signHmac​(byte[] data, java.lang.String key, java.lang.String algo)
      Hmac signature
      static java.lang.String signHmacSHA1​(byte[] data, java.lang.String key)
      Hmac SHA1 signature
      static java.lang.String signHmacSHA1​(java.lang.String data, java.lang.String key)
      Hmac SHA1 signature
      static java.lang.String signHmacSHA256​(byte[] data, java.lang.String key)
      Hmac SHA256 signature
      static java.lang.String signHmacSHA256​(java.lang.String data, java.lang.String key)
      Hmac SHA256 signature
      static java.lang.String signHmacSHA512​(byte[] data, java.lang.String key)
      Hmac SHA512 signature
      static java.lang.String signHmacSHA512​(java.lang.String data, java.lang.String key)
      Hmac SHA512 signature
      static java.lang.String toHex​(byte[] data)
      To hexadecimal string
      static java.lang.String toHex​(java.lang.String data)
      To hexadecimal string
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • HMAC_SHA1

        public static final java.lang.String HMAC_SHA1
        Hmac-SHA1 algorithm name
        See Also:
        Constant Field Values
      • HMAC_SHA256

        public static final java.lang.String HMAC_SHA256
        Hmac-SHA256 algorithm name
        See Also:
        Constant Field Values
      • HMAC_SHA512

        public static final java.lang.String HMAC_SHA512
        Hmac-SHA5212 algorithm name
        See Also:
        Constant Field Values
      • ALGO_SHA1

        public static final java.lang.String ALGO_SHA1
        SHA-1 algorithm
        See Also:
        Constant Field Values
      • ALGO_SHA256

        public static final java.lang.String ALGO_SHA256
        SHA-256 algorithm
        See Also:
        Constant Field Values
      • ALGO_SHA512

        public static final java.lang.String ALGO_SHA512
        SHA-512 algorithm
        See Also:
        Constant Field Values
      • BEGIN_CERT

        public static final java.lang.String BEGIN_CERT
        Begin certificate
        See Also:
        Constant Field Values
      • BEGIN_PRIVKEY

        public static final java.lang.String BEGIN_PRIVKEY
        Begin certificate
        See Also:
        Constant Field Values
      • END_PRIVKEY

        public static final java.lang.String END_PRIVKEY
        End certficate
        See Also:
        Constant Field Values
      • KEYSTORE_JKS

        public static final java.lang.String KEYSTORE_JKS
        JKS keystore type
        See Also:
        Constant Field Values
      • KEYSTORE_PKCS12

        public static final java.lang.String KEYSTORE_PKCS12
        PKCS12 keystore type
        See Also:
        Constant Field Values
    • Constructor Detail

      • EncryptionTool

        public EncryptionTool()
    • Method Detail

      • encrypt

        public static byte[] encrypt​(byte[] value,
                                     java.lang.String key)
                              throws java.lang.Exception
        Encrypt byte array value to byte array
        Parameters:
        value - Value
        key - Encryption key
        Throws:
        java.lang.Exception
      • encrypt

        public static java.lang.String encrypt​(java.lang.String value,
                                               java.lang.String key)
                                        throws java.lang.Exception
        Encrypt string value to string
        Parameters:
        value - Value
        key - Encryption key
        Throws:
        java.lang.Exception
      • decrypt

        public static byte[] decrypt​(byte[] value,
                                     java.lang.String key)
                              throws java.lang.Exception
        Decrypt byte array value
        Parameters:
        value - Value
        key - Encryption key
        Throws:
        java.lang.Exception
      • decrypt

        public static java.lang.String decrypt​(java.lang.String value,
                                               java.lang.String key)
                                        throws java.lang.Exception
        Decrypt string value
        Parameters:
        value - Value
        key - Encryption key
        Throws:
        java.lang.Exception
      • toHex

        public static java.lang.String toHex​(java.lang.String data)
        To hexadecimal string
        Parameters:
        data - String data
        Returns:
        Hexadecimal string
      • toHex

        public static java.lang.String toHex​(byte[] data)
        To hexadecimal string
        Parameters:
        data - Byte arry data
        Returns:
        Hexadecimal string
      • signHmacSHA1

        public static java.lang.String signHmacSHA1​(java.lang.String data,
                                                    java.lang.String key)
                                             throws java.lang.Exception
        Hmac SHA1 signature
        Parameters:
        data - String data
        key - Key
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • signHmacSHA1

        public static java.lang.String signHmacSHA1​(byte[] data,
                                                    java.lang.String key)
                                             throws java.lang.Exception
        Hmac SHA1 signature
        Parameters:
        data - Byte array data
        key - Key
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • signHmacSHA256

        public static java.lang.String signHmacSHA256​(java.lang.String data,
                                                      java.lang.String key)
                                               throws java.lang.Exception
        Hmac SHA256 signature
        Parameters:
        data - String data
        key - Key
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • signHmacSHA256

        public static java.lang.String signHmacSHA256​(byte[] data,
                                                      java.lang.String key)
                                               throws java.lang.Exception
        Hmac SHA256 signature
        Parameters:
        data - Byte array data
        key - Key
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • signHmacSHA512

        public static java.lang.String signHmacSHA512​(java.lang.String data,
                                                      java.lang.String key)
                                               throws java.lang.Exception
        Hmac SHA512 signature
        Parameters:
        data - String data
        key - Key
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • signHmacSHA512

        public static java.lang.String signHmacSHA512​(byte[] data,
                                                      java.lang.String key)
                                               throws java.lang.Exception
        Hmac SHA512 signature
        Parameters:
        data - Byte array data
        key - Key
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • signHmac

        public static java.lang.String signHmac​(byte[] data,
                                                java.lang.String key,
                                                java.lang.String algo)
                                         throws java.lang.Exception
        Hmac signature
        Parameters:
        data - Byte array data
        key - Key
        algo - Alogorithm (one of HMAC*)
        Returns:
        Hexadecimal string of signature
        Throws:
        java.lang.Exception
      • readCertificateAndKey

        public static java.lang.String[] readCertificateAndKey​(java.io.File keystore,
                                                               java.lang.String type,
                                                               java.lang.String alias,
                                                               java.lang.String pwd,
                                                               boolean format)
                                                        throws java.lang.Exception
        Read certificate and private key from a keystore
        Parameters:
        keystore - Keystore file
        type - Keystore type (one of KEYSTOE_* constant)
        alias - Alias in keystore
        pwd - Keystore password
        format - Format with header/footer and line breaks
        Returns:
        String array (first is certificate, second is private key)
        Throws:
        java.lang.Exception
      • readCertificateAndKey

        public static java.lang.String[] readCertificateAndKey​(byte[] keystore,
                                                               java.lang.String type,
                                                               java.lang.String alias,
                                                               java.lang.String pwd,
                                                               boolean format)
                                                        throws java.lang.Exception
        Read certificate and private key from a keystore
        Parameters:
        keystore - Keystore content as byte array
        type - Keystore type (one of KEYSTOE_* constant)
        alias - Alias in keystore
        pwd - Keystore password
        format - Format with header/footer and line breaks
        Returns:
        String array of length 1 (certificate only) or 2 (first is certificate, second is private key)
        Throws:
        java.lang.Exception