/**
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
*
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
*
* Licensed under Apache License 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.tlsattacker.modifiablevariable.biginteger;
import de.rub.nds.tlsattacker.modifiablevariable.VariableModification;
import java.math.BigInteger;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
/**
* @author Juraj Somorovsky - juraj.somorovsky@rub.de
*/
@XmlRootElement
@XmlType(propOrder = { "xor", "modificationFilter", "postModification" })
public class BigIntegerXorModification extends VariableModification<BigInteger> {
private BigInteger xor;
public BigIntegerXorModification() {
}
public BigIntegerXorModification(BigInteger bi) {
this.xor = bi;
}
@Override
protected BigInteger modifyImplementationHook(BigInteger input) {
if (input == null) {
input = BigInteger.ZERO;
}
return input.xor(xor);
}
public BigInteger getXor() {
return xor;
}
public void setXor(BigInteger xor) {
this.xor = xor;
}
}