void getEncription(ByteIO byteIO) { int passLength = getPasswordLength(byteIO.Length); var pass = getPassword(passLength); { int passIndex = 0; for (int i = 0; i < byteIO.Length; i++) { if (passIndex >= pass.Length) { passIndex = 0; } var bt = byteIO[i]; unchecked { bt = encryption(bt, pass[passIndex], passIndex); } byteIO[i] = bt; passIndex++; } } int passLengthPosition = createPassLengthPosition(passLength + sizeof(int) + byteIO.Length); byteIO.Add(pass.Length, passLengthPosition); byteIO.AddOnlyBytes(pass, byteIO.Length); }
public override byte[] Do() { var byteIO = new ByteIO(_byteBuffer); int nullPosition = createPassLengthPosition(byteIO.Length + sizeof(int)); byteIO.Add(0, nullPosition); for (int i = 0; i < _levelCount; i++) { getEncription(byteIO); } return(byteIO.ToByteArray()); }