foo &= 0xFF << 8; foo |= randNum.Next( 8, 32 ); int bitPos = foo & 0xFF; bitPos -= bitPos%8; int bitMask = 2 >> --bitPos; bitMask--; foo &= bitMask; foo |= xorSeed << ++bitPos; return foo; /* key */