Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  
  package stream.data;
  
  
 
 
 import stream.Data;

Author(s):
chris
 
 public class Decrypt extends AbstractProcessor {
 
 	static Logger log = LoggerFactory.getLogger(Decrypt.class);
 
 	public void init(ProcessContext ctxthrows Exception {
 		super.init(ctx);
 
 		if ( == null) {
 			throw new Exception("No 'secret' parameter specified!");
 		}
 
 		if (.trim().isEmpty()) {
 			throw new Exception(
 					"Parameter 'secret' does not contain any information!");
 		}
 	}

 
 	public Data process(Data input) {
 
 		if (!input.containsKey(.)) {
 			.warn("Item does not contain key '{}'".);
 			return input;
 		}
 
 		if (!input.containsKey(.)) {
 			.warn("Item does not contain encrypted data!");
 			return input;
 		}
 
 		if (!input.containsKey(.)) {
 					"Item does not contain cipher type (attribute '{}' is missing)!",
 			return input;
 		}
 
 		String id = input.get(.).toString();
 		byte[] ivData = Encrypt.computeIV(id);
 
 		String cipher = input.get(.).toString();
 		.debug("Decryption cipher '{}' = {}"cipher);
 		byte[] data = (byte[]) input.get(.);
 
 		try {
 
 			Cipher c = Cipher.getInstance(cipher);
 					"AES");
 			IvParameterSpec iv = new IvParameterSpec(ivData);
 			c.init(.keyiv);
 			data = c.doFinal(data);
 
 			Data item = (Data.read(bais);
 			bais.close();
 
 			// log.debug("Decrypted item: {}", item);
 			return item;
 		} catch (Exception e) {
 			.error("Decryption failed: {}"e.getMessage());
 			return input;
 		}
	}

Returns:
the secret
	public String getSecret() {
		return ;
	}

Parameters:
secret the secret to set
	public void setSecret(String secret) {
		this. = secret;
	}
New to GrepCode? Check out our FAQ X