We can use the Objecto Info node to apply randomness to materials. The key here is to use a ColorRamp node to translate the range of random values into actual color values. These color values will then be applied to other nodes, usually affecting textures with a MixRGB node in which you can easily modify lightness (Screen), darkness (Multiply), Hue (Color), etc. Of course you can change color and lightness by using cascading MixRGB components.
February 06 2016