iOS之随机字符串大小写和数字

最近在给登录密码加密的时候用到了随机字符串,就顺手把这个方法记录下来:

iOS之随机字符串大小写和数字_第1张图片
图片来自网络

一、全大小写字母字符串

//32位全大写字符串
+(NSString *)return32BigString;
//32位全小写字符串
+(NSString *)return32LittleString;

实现方法:

//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];
}

二、大小写和数字字符串

//返回16位大小写字母和数字
+(NSString *)return16LetterAndNumber;
//返回32位大小写字母和数字
+(NSString *)return32LetterAndNumber;

实现方法

//返回16位大小写字母和数字
+(NSString *)return16LetterAndNumber{
    //定义一个包含数字,大小写字母的字符串
    NSString * strAll = @"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    //定义一个结果
    NSString * result = [[NSMutableString alloc]initWithCapacity:16];
    for (int i = 0; i < 16; i++)
    {
        //获取随机数
        NSInteger index = arc4random() % (strAll.length-1);
        char tempStr = [strAll characterAtIndex:index];
        result = (NSMutableString *)[result stringByAppendingString:[NSString stringWithFormat:@"%c",tempStr]];
    }
    
    return result;
}

三、随机数的使用

//获取一个随机整数范围:[0,200)包括0,不包括100
    int h = arc4random() %100;
    NSLog(@"h:%d",h);
    
    //获取一个随机数范围在[600,700],包括600
    int b = 600 +arc4random() % 101;
    NSLog(@"b:%d",b);

如有不明白的,可以下载demo看:HBBitString

END.

你可能感兴趣的:(iOS之随机字符串大小写和数字)