ZeroBytePadding
A padder that adds zero byte padding to a block.
using Org.BouncyCastle.Security;
namespace Org.BouncyCastle.Crypto.Paddings
{
public class ZeroBytePadding : IBlockCipherPadding
{
public string PaddingName => "ZeroBytePadding";
public void Init(SecureRandom random)
{
}
public int AddPadding(byte[] input, int inOff)
{
int result = input.Length - inOff;
while (inOff < input.Length) {
input[inOff++] = 0;
}
return result;
}
public int PadCount(byte[] input)
{
int num = 0;
int num2 = -1;
int num3 = input.Length;
while (--num3 >= 0) {
int num4 = (input[num3] ^ 0) - 1 >> 31;
num2 &= num4;
num -= num2;
}
return num;
}
}
}