研究了下,ios 没有随机生成字符串的方法,然后我就变通的搞成功了,哈哈!

不是很完美,但是 可以用。

方法用二个步骤:

*步是 随机生成一个数字

int index = arc4random() % 10; //随机生成0-9 的数字
第二步是对这个数字进行MD5 散列,这样就有随机的字符串了,哈哈!

-(NSString*) md5:(NSString*)str{
const char *cStr = [str UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), result );

return [NSString stringWithFormat:
@”%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X”,
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]
];

}

别忘记加入头文件
#import <commoncrypto/CommonDigest.h>

这样就生成了随机的字符串。

iOS 生成随机字符串 从指定字符串随机产生n个长度的新字符串

  • 随机字符串 – 生成指定长度的字符串
  1. -(NSString *)randomStringWithLength:(NSInteger)len {
  2. NSString *letters = @”abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789″;
  3. NSMutableString *randomString = [NSMutableString stringWithCapacity: len];
  4. for (NSInteger i = 0; i < len; i++) {
  5. [randomString appendFormat: @”%C”, [letters characterAtIndex: arc4random_uniform([letters length])]];
  6. }
  7. return randomString;
  8. }
  • 指定字符串随机生成指定长度的新字符串
  1. -(NSString *)randomStringWithLength:(NSInteger)len String:(NSString *)letters {
  2. NSMutableString *randomString = [NSMutableString stringWithCapacity: len];
  3. for (NSInteger i = 0; i < len; i++) {
  4. [randomString appendFormat: @”%C”, [letters characterAtIndex: arc4random_uniform([letters length])]];
  5. }
  6. return randomString;
  7. }
  8. //调用方法
  9. -(NSString *)generateCard{
  10. //HXMF 123456789TJQK
  11. NSString *color =[self randomStringWithLength:1 String:@”HXMF”];
  12. NSString *number = [self randomStringWithLength:1 String:@”123456789TJQK”];
  13. return [NSString stringWithFormat:@”%@%@”,color,number];