美文网首页SwiftObject-C
iOS之随机字符串大小写和数字

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

作者: 明似水 | 来源:发表于2017-03-14 14:51 被阅读1131次

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

    图片来自网络

    一、全大小写字母字符串

    //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看:<a href = "https://github.com/smileKH/HBBitString">HBBitString</a>

    END.

    相关文章

      网友评论

        本文标题:iOS之随机字符串大小写和数字

        本文链接:https://www.haomeiwen.com/subject/hgxhnttx.html