最近在給登錄密碼加密的時候用到了隨機字符串崖技,就順手把這個方法記錄下來:
一竭讳、全大小寫字母字符串
//32位全大寫字符串
+(NSString *)return32BigString;
//32位全小寫字符串
+(NSString *)return32LittleString;
實現(xiàn)方法:
//32位全大寫字符串
+(NSString *)return32BigString{
char data[32];
for (int x=0;x<32;data[x++] = (char)('A'+ (arc4random_uniform(26))));
return [[NSString alloc] initWithBytes:data length:32 encoding:NSUTF8StringEncoding];
}
二膨桥、大小寫和數(shù)字字符串
//返回16位大小寫字母和數(shù)字
+(NSString *)return16LetterAndNumber;
//返回32位大小寫字母和數(shù)字
+(NSString *)return32LetterAndNumber;
實現(xiàn)方法
//返回16位大小寫字母和數(shù)字
+(NSString *)return16LetterAndNumber{
//定義一個包含數(shù)字蛮浑,大小寫字母的字符串
NSString * strAll = @"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
//定義一個結(jié)果
NSString * result = [[NSMutableString alloc]initWithCapacity:16];
for (int i = 0; i < 16; i++)
{
//獲取隨機數(shù)
NSInteger index = arc4random() % (strAll.length-1);
char tempStr = [strAll characterAtIndex:index];
result = (NSMutableString *)[result stringByAppendingString:[NSString stringWithFormat:@"%c",tempStr]];
}
return result;
}
三、隨機數(shù)的使用
//獲取一個隨機整數(shù)范圍:[0,200)包括0只嚣,不包括100
int h = arc4random() %100;
NSLog(@"h:%d",h);
//獲取一個隨機數(shù)范圍在[600,700],包括600
int b = 600 +arc4random() % 101;
NSLog(@"b:%d",b);
如有不明白的沮稚,可以下載demo看:<a >HBBitString</a>
END.