`fcli util ncd-report`: Add support for encrypting/obfuscating confidential data
Customers may need to share the generated report with OpenText for license validation purposes, however they may not be comfortable with sharing developer PII (name/email) or other potentially confidential information like repository names and maybe branch names. As such, the command should provide configuration options to allow this data to be encrypted or obfuscated.
Plan is to have an EncryptingRecordTransformer implementation, and/or an EncryptingRecordWriter implementation that wraps another IRecordWriter, which is configured with a configuration object specifying what fields should be encrypted, and encryption settings like encryption key/password. Potentially, this transformer/writer could also support encryption through Voltage REST API, although this may affect performance as potentially we need to make a REST call for every individual record (caching the encrypted values in a Map).
Each of the NcdReport*Writer classes would then use the EncryptingRecordTransformer/EncryptingRecordWriter to encrypt the configured fields, based on configuration settings specified in the report configuration file.