SensitiveDataCodec

Stay organized with collections Save and categorize content based on your preferences.
public class SensitiveDataCodec extends Object

Helper object used to encode and decode sensitive data.

There are three levels of SensitiveDataCodec.SecurityLevel, PLAIN_TEXT, OBFUSCATED and ENCRYPTED. To facilitate decoding a message, first use getSecurityLevel(String encrypted_message) to get the securityLevel. If the prefix of the encrypted_message doesn't match a valid security level, the decoder uses PLAIN_TEXT by default.

To decrypt the message, use decodeData(String encrypted).

Nested Class Summary

enum SensitiveDataCodec.SecurityLevel Values that specify the security level, used typically for a user parameter. 

Public Constructor Summary

Public Method Summary

String
decodeData(String encrypted)
Decrypts the encoded text.
String
encodeData(String readable, SensitiveDataCodec.SecurityLevel securityLevel)
Encodes the text based on securityLevel.
static void
main(String[] args)
Encodes and decodes sensitive data.

Inherited Method Summary

Public Constructors

public SensitiveDataCodec ()

Public Methods

public String decodeData (String encrypted)

Decrypts the encoded text.

Parameters
encrypted the encrypted string
Returns
  • the decrypted string
Throws
InvalidConfigurationException
IOException

public String encodeData (String readable, SensitiveDataCodec.SecurityLevel securityLevel)

Encodes the text based on securityLevel.

Parameters
readable original text
securityLevel one of three different security levels: PLAIN_TEXT, OBFUSCATED and ENCRYPTED using public/private key pair
Returns
  • encrypted text
Throws
IOException

public static void main (String[] args)

Encodes and decodes sensitive data.

Example usage to get encoded sensitive data value from the command line:

 java -DsecurityLevel=ENCRYPTED \
 -Djavax.net.ssl.keyStore=encryptKeyStore.jks \
 -Djavax.net.ssl.keyStorePassword=testtest \
 -Djavax.net.ssl.keyStoreType=JKS \
 -Dalias=testkeypair \
 -classpath 'cloudsearch-connector-sdk-{version}-SNAPSHOT-withlib.jar' \
 com.google.enterprise.cloudsearch.sdk.config.SensitiveDataCodec
 

To enable reading the sensitive value from standard input, add a quiet parameter ("--quiet"). If the quiet parameter is present, the program outputs the encoded sensitive value without any additional text.

Parameters
args
Throws
IOException