Skip to content

An easier & safer to use interface for cryptographically secure random.


Notifications You must be signed in to change notification settings


Repository files navigation


release pod licence coverage

An easier and safer to use interface for good, cryptographically secure, random.


CBHRandom provides class methods for producing random data of fixed and variable length with bounding constraints.


Generate a random NSUInteger:

NSUInteger randInt = [CBHRandom randomUnsignedInteger];

Generate a random NSUInteger less then 128 inclusive:

NSUInteger randInt = [CBHRandom randomUnsignedIntegerWithBound:128];

Generate a random NSUInteger between 64 and 128 inclusive:

NSUInteger randInt = [CBHRandom randomIntegerBetweenLower:64 andUpperBound:128];

Shuffling an Array:

NSArray *array = @[@1, @2, @3, @4, @5];
NSArray *shuffledArray = [array arrayByShuffling];

Shuffling an Array in-place:

NSMutableArray *array = [NSMutableArray arrayWithObjects:@1, @2, @3, @4, @5, nil];
[array shuffle];

Requesting a random object from Array:

NSArray *array = @[@1, @2, @3, @4, @5];
NSNumber *number = [array randomObject];


CBHRandomKit is available under the ISC license.