package net.minecraft.network;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import javax.crypto.Cipher;
import javax.crypto.ShortBufferException;
public class NettyEncryptionTranslator
{
private final Cipher cipher;
private byte[] field_150505_b = new byte[0];
private byte[] field_150506_c = new byte[0];
private static final String __OBFID = "CL_00001237";
protected NettyEncryptionTranslator(Cipher cipherIn)
{
this.cipher = cipherIn;
}
private byte[] func_150502_a(ByteBuf p_150502_1_)
{
int var2 = p_150502_1_.readableBytes();
if (this.field_150505_b.length < var2)
{
this.field_150505_b = new byte[var2];
}
p_150502_1_.readBytes(this.field_150505_b, 0, var2);
return this.field_150505_b;
}
protected ByteBuf decipher(ChannelHandlerContext ctx, ByteBuf buffer) throws ShortBufferException
{
int var3 = buffer.readableBytes();
byte[] var4 = this.func_150502_a(buffer);
ByteBuf var5 = ctx.alloc().heapBuffer(this.cipher.getOutputSize(var3));
var5.writerIndex(this.cipher.update(var4, 0, var3, var5.array(), var5.arrayOffset()));
return var5;
}
protected void cipher(ByteBuf p_150504_1_, ByteBuf p_150504_2_) throws ShortBufferException
{
int var3 = p_150504_1_.readableBytes();
byte[] var4 = this.func_150502_a(p_150504_1_);
int var5 = this.cipher.getOutputSize(var3);
if (this.field_150506_c.length < var5)
{
this.field_150506_c = new byte[var5];
}
p_150504_2_.writeBytes(this.field_150506_c, 0, this.cipher.update(var4, 0, var3, this.field_150506_c));
}
}