#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>

@interface Helpers : NSObject

@property(nonatomic,strong)NSDateFormatter *h_dateFormatter;

@property(nonatomic,strong)NSDateComponents *h_components;

+(BOOL)strIsEmty:(NSString *)str;

+(NSString *)getPathByMain:(NSString *)name

type:(NSString *)tp;

+ (NSString *)getPath:(NSString *)fileName;

+(BOOL)fileIsExit:(NSString *)path;

+(BOOL)deleteFile:(NSString *)path;

+(BOOL)dicIsExit:(NSString *)path;

+(BOOL)createFile:(NSString *)url

data:(NSData *)data;

+(BOOL)createDic:(NSString *)url;

+(NSString *)getNowStr;

+(int)getNowYear;

+(NSString *)getDateStr:(NSDate *)date;

+(NSDate *)getDateByString:(NSString *)str;

+(NSString *)getDateStrFromDate:(NSDate *)date bySeconds:(double)seconds;

+(NSDictionary *)getDateInfoForDate:(NSDate *)date;

+ (NSString *)convertToDateString:(NSDate *)date

withFormat:(NSString *)dateFormat;

+(NSString *)URLEncodedString:(NSString *)str;

+(NSString *)URLDecodedString:(NSString *)str;

+(BOOL)strIsChecked:(NSString *)str

checkStr:(NSString *)checkStr;

+(BOOL)objIsNull:(id)obj;

+(NSString *)inputStr:(id)ipStr;

+(BOOL)strIsEmail:(NSString *)targetStr;

+(BOOL)strIsMobileOrEmail:(NSString *)targetStr;

+(BOOL)strIsWordorNum:(NSString *)targetStr;

+(BOOL)strIsChinaWord:(NSString *)targetStr;

+(BOOL)strIsPassword:(NSString *)targetStr;

+(BOOL)strIsInLen:(int)tLen targetStr:(NSString *)tStr;

#pragma mark -

#pragma mark base64 string 加密以及解密

#define __BASE64( text )        [CommonFunc base64StringFromText:text]

#define __TEXT( base64 )        [CommonFunc textFromBase64String:base64]

/******************************************************************************

函数名称 : + (NSString *)base64StringFromText:(NSString *)text

函数描述 : 将文本转换为base64格式字符串

输入参数 : (NSString *)text    文本

输出参数 : N/A

返回参数 : (NSString *)    base64格式字符串

备注信息 :

******************************************************************************/

+ (NSString *)base64StringFromText:(NSString *)text;

/******************************************************************************

函数名称 : + (NSString *)textFromBase64String:(NSString *)base64

函数描述 : 将base64格式字符串转换为文本

输入参数 : (NSString *)base64  base64格式字符串

输出参数 : N/A

返回参数 : (NSString *)    文本

备注信息 :

******************************************************************************/

+ (NSString *)textFromBase64String:(NSString *)base64;

//分分秒秒

+ (NSString *)timeFormattedMMSS:(int)totalSeconds;

//时时分分秒秒

+ (NSString *)timeFormattedHHMMSS:(int)totalSeconds;

//通过字典串返回cgrect

+ (CGRect )strForCgrect:(NSDictionary *)dic;

//检测首字母不能为数字,中英文

+ (BOOL)strIsIllegal:(NSString *)targetStr;

//检测手机号

+ (BOOL)strIsMobile:(NSString *)targetStr;

//判断int数是否小于10,如果小于10 拼接0~

+ (NSString *)intIsLessThanTen:(int)little;

//是否包涵空格

+ (BOOL)stringIsContainBlank:(NSString *)targetStr;

//保存数据

+ (void)nsuserDefaultSetvalueWithKey:(NSString *)key Value:(NSString *)value;

//读取数据

+ (NSString *)nsuserDefaultObjectForKeyWithKey:(NSString *)key;

@end

#import "Helpers.h"

#import <CommonCrypto/CommonCryptor.h>

#import <UIKit/UIKit.h>

static NSDateFormatter *dateFormatter = nil;

@implementation Helpers

+(BOOL)strIsEmty:(NSString *)str

{

if (str == nil || str == NULL) {

return YES;

}

if ([str isKindOfClass:[NSNull class]]) {

return YES;

}

if (str.length == 0) {

return YES;

}

return NO;

}

+(NSString *)getPathByMain:(NSString *)name

type:(NSString *)tp

{

return [[NSBundle mainBundle] pathForResource:name ofType:tp];

}

+ (NSString *)getPath:(NSString *)fileName

{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

return  [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];

}

+(BOOL)fileIsExit:(NSString *)path

{

NSFileManager *_fm = [NSFileManager defaultManager];

BOOL _flag = NO;

if (path) {

return [_fm fileExistsAtPath:path isDirectory:&_flag];

}else{

return NO;

}

}

+(BOOL)deleteFile:(NSString *)path

{

NSFileManager *_fm = [NSFileManager defaultManager];

if (path) {

return [_fm removeItemAtPath:path error:nil];

}else{

return NO;

}

}

+(BOOL)dicIsExit:(NSString *)path

{

NSFileManager *_fm = [NSFileManager defaultManager];

if (path) {

BOOL _flag = YES;

return [_fm fileExistsAtPath:path isDirectory:&_flag];

}else{

return NO;

}

}

+(BOOL)createFile:(NSString *)url

data:(NSData *)data

{

if (url && data) {

NSFileManager   *_fm = [NSFileManager defaultManager];

return [_fm createFileAtPath:url contents:data attributes:nil];

}else{

return NO;

}

}

+(BOOL)createDic:(NSString *)url

{

if (url) {

NSFileManager   *_fm = [NSFileManager defaultManager];

return [_fm createDirectoryAtPath:url

withIntermediateDirectories:YES

attributes:nil

error:nil];

}else{

return NO;

}

}

+(NSString *)getDateStrFromDate:(NSDate *)date

bySeconds:(double)seconds

{

NSDateComponents *components = [[NSCalendar currentCalendar] components:

NSDayCalendarUnit |

NSMonthCalendarUnit |

NSYearCalendarUnit |

NSHourCalendarUnit |

NSMinuteCalendarUnit |

NSSecondCalendarUnit

fromDate:[NSDate dateWithTimeInterval:seconds sinceDate:date]];

return [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d",

(int)[components year],

(int)[components month],

(int)[components day],

(int)[components hour],

(int)[components minute],

(int)[components second]

];

}

+(NSDictionary *)getDateInfoForDate:(NSDate *)date

{

if (date) {

NSDateComponents *components = [[NSCalendar currentCalendar] components:

NSDayCalendarUnit |

NSMonthCalendarUnit |

NSYearCalendarUnit |

NSHourCalendarUnit |

NSMinuteCalendarUnit |

NSSecondCalendarUnit |

NSWeekdayCalendarUnit

fromDate:date];

return @{

@"year":[NSString stringWithFormat:@"%04d",(int)[components year]],

@"month":[NSString stringWithFormat:@"%02d",(int)[components month]],

@"day":[NSString stringWithFormat:@"%02d",(int)[components day]],

@"hour":[NSString stringWithFormat:@"%02d",(int)[components hour]],

@"minute":[NSString stringWithFormat:@"%02d",(int)[components minute]],

@"second":[NSString stringWithFormat:@"%02d",(int)[components second]],

@"weekday":[NSString stringWithFormat:@"%d",(int)[components weekday]]

};

}

else{

return nil;

}

}

+(NSString *)getNowStr

{

NSDateComponents *components = [[NSCalendar currentCalendar] components:

NSDayCalendarUnit |

NSMonthCalendarUnit |

NSYearCalendarUnit |

NSHourCalendarUnit |

NSMinuteCalendarUnit |

NSSecondCalendarUnit

fromDate:[NSDate date]];

return [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d",

(int)[components year],

(int)[components month],

(int)[components day],

(int)[components hour],

(int)[components minute],

(int)[components second]

];

}

+(int)getNowYear

{

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSYearCalendarUnit

fromDate:[NSDate date]];

return (int)[components year];

}

+(NSString *)getDateStr:(NSDate *)date

{

NSDateComponents *components = [[NSCalendar currentCalendar] components:

NSDayCalendarUnit |

NSMonthCalendarUnit |

NSYearCalendarUnit |

NSHourCalendarUnit |

NSMinuteCalendarUnit |

NSSecondCalendarUnit

fromDate:date ];

return [NSString stringWithFormat:@"%04d-%02d-%02d %02d:%02d:%02d",

(int)[components year],

(int)[components month],

(int)[components day],

(int)[components hour],

(int)[components minute],

(int)[components second]

];

}

+(NSDate *)getDateByString:(NSString *)str

{

if ( str == nil || [@"" isEqualToString:str]) {

str = @"1970-01-01 00:00:00";

}

if (!dateFormatter) {

dateFormatter = [[NSDateFormatter alloc] init];

}

[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];

return [dateFormatter dateFromString:str];

}

+ (NSString *)convertToDateString:(NSDate *)date

withFormat:(NSString *)dateFormat

{

if (!dateFormatter) {

dateFormatter = [[NSDateFormatter alloc] init];

}

[dateFormatter setDateFormat:dateFormat];

//    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT{8}"]];

return [dateFormatter stringFromDate:date];

}

+(BOOL)strIsChecked:(NSString *)str

checkStr:(NSString *)checkStr

{

BOOL _flag = NO;

if (str && ![str isEqual:[NSNull null]]) {

//NSString *_checkStr = @"^[0-9]{3}$";

//@"^[0-9]+-*[0-9]+$";

NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:checkStr

options:0

error:nil];

if (regex2){//对象进行匹配

NSTextCheckingResult *result2 = [regex2 firstMatchInString:str

options:0

range:NSMakeRange(0, str.length)];

if (result2)  {

_flag = YES;

}

}

}

return _flag;

}

+(NSString *)URLEncodedString:(NSString *)str

{

NSString *result = (__bridge_transfer NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

(CFStringRef)str,

NULL,

CFSTR("!*'();:@&=+$,/?%#[]"),

kCFStringEncodingUTF8);

return result;

}

+(NSString *)URLDecodedString:(NSString *)str

{

NSString *result = (__bridge_transfer NSString*)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,

(CFStringRef)str,

CFSTR(""),

kCFStringEncodingUTF8);

return result;

}

+(BOOL)objIsNull:(id)obj

{

BOOL _flag = YES;

if (obj && ![obj isEqual:[NSNull null]]) {

_flag = NO;

}

return _flag;

}

+(NSString *)inputStr:(id)ipStr

{

NSString *_result = @"";

if (ipStr == nil || ipStr == NULL) {

return _result = @"";

}

if ([ipStr isKindOfClass:[NSNull class]]) {

return _result = @"";

}

if ([ipStr isKindOfClass:[NSString class]]) {

_result = ipStr;

}

if ([ipStr isKindOfClass:[NSNumber class]]) {

_result = [(NSNumber *)ipStr stringValue];

}

return _result;

}

+(BOOL)strIsMobileOrEmail:(NSString *)targetStr

{

BOOL _flag = NO;

//匹配6-15个由字母/数字组成的字符串的正则表达式:

NSString *_phoneNumRegex = @"1[0-9]{10}";

//匹配邮箱格式

NSString *_emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

NSPredicate *_pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _phoneNumRegex];

if ([_pred evaluateWithObject:targetStr]) {

_flag = YES;

}

else{

_pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _emailRegex];

if ([_pred evaluateWithObject:targetStr]) {

_flag = YES;

}

}

return _flag;

}

+ (BOOL)strIsMobile:(NSString *)targetStr

{

BOOL _flag = NO;

NSString *_phoneNum = @"1[0-9]{10}";

NSPredicate *_pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",_phoneNum];

if ([_pre evaluateWithObject:targetStr]) {

_flag = YES;

}

return _flag;

}

+ (BOOL)strIsPassword:(NSString *)targetStr

{

//长度小于等于6

if (targetStr.length < 6) {

return NO;

} else if ([targetStr rangeOfString:@"@"].length > 0){//包含特殊字符@

return  NO;

} else if (targetStr.length >= 16) {//大于等于16

return NO;

} else {

return  YES;

}

}

+(BOOL)strIsEmail:(NSString *)targetStr

{

BOOL _flag = NO;

//匹配邮箱格式

NSString *_emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

NSPredicate *_pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _emailRegex];

if ([_pred evaluateWithObject:targetStr]) {

_flag = YES;

}

return _flag;

}

+(BOOL)strIsWordorNum:(NSString *)targetStr

{

BOOL _flag = NO;

NSString *_emailRegex = @"[A-Z0-9a-z\u4e00-\u9fa5]*";

NSPredicate *_pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _emailRegex];

if ([_pred evaluateWithObject:targetStr]) {

_flag = YES;

}

return _flag;

}

//检测首字母不能为数字,长度不能大于12字节,中英文

+ (BOOL)strIsIllegal:(NSString *)targetStr

{

BOOL _flag = NO;

NSString *_userName = @"^[^0-9][A-Za-z0-9_\u4e00-\u9fa5]*";

NSPredicate *_pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _userName];

if ([_pred evaluateWithObject:targetStr]) {

_userName = @"^[A-Za-z0-9_\u4e00-\u9fa5]*";

NSPredicate *_pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _userName];

if ([_pre evaluateWithObject:targetStr]) {

_flag = YES;

}

}

return _flag;

}

+(BOOL)strIsChinaWord:(NSString *)targetStr

{

BOOL _flag = NO;

NSString *_emailRegex = @"[\u4e00-\u9fa5]*";

NSPredicate *_pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", _emailRegex];

if ([_pred evaluateWithObject:targetStr]) {

_flag = YES;

}

return _flag;

}

//判断是否在多少字符之内

+(BOOL)strIsInLen:(int)tLen

targetStr:(NSString *)tStr

{

BOOL _flag  = NO;

int _sLen   = 0;

NSString *_tStr = [Helpers inputStr:tStr];

long l = 0;

if (![@"" isEqualToString:_tStr]) {

for (int i = 0; i < _tStr.length; i++) {

NSString *_s = [_tStr substringWithRange:NSMakeRange(i, 1)];

l = strlen([_s cStringUsingEncoding:NSUTF8StringEncoding]);

if (l == 1) {

_sLen++;

}

else if(l == 3)

{

_sLen += 2;

}

else{

_sLen = tLen + 1;

break;

}

}

}

if (_sLen <= tLen && _sLen != 0) {

_flag = YES;

}

return _flag;

}

//空字符串

#define     LocalStr_None           @""

static const char encodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

+ (NSString *)base64StringFromText:(NSString *)text

{

if (text && ![text isEqualToString:LocalStr_None]) {

//取项目的bundleIdentifier作为KEY  改动了此处

//NSString *key = [[NSBundle mainBundle] bundleIdentifier];

NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];

//IOS 自带DES加密 Begin  改动了此处

//data = [self DESEncrypt:data WithKey:key];

//IOS 自带DES加密 End

return [self base64EncodedStringFrom:data];

}

else {

return LocalStr_None;

}

}

+ (NSString *)textFromBase64String:(NSString *)base64

{

if (base64 && ![base64 isEqualToString:LocalStr_None]) {

//取项目的bundleIdentifier作为KEY   改动了此处

//NSString *key = [[NSBundle mainBundle] bundleIdentifier];

NSData *data = [self dataWithBase64EncodedString:base64];

//IOS 自带DES解密 Begin    改动了此处

//data = [self DESDecrypt:data WithKey:key];

//IOS 自带DES加密 End

return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

}

else {

return LocalStr_None;

}

}

/******************************************************************************

函数名称 : + (NSData *)DESEncrypt:(NSData *)data WithKey:(NSString *)key

函数描述 : 文本数据进行DES加密

输入参数 : (NSData *)data

(NSString *)key

输出参数 : N/A

返回参数 : (NSData *)

备注信息 : 此函数不可用于过长文本

******************************************************************************/

+ (NSData *)DESEncrypt:(NSData *)data WithKey:(NSString *)key

{

char keyPtr[kCCKeySizeAES256+1];

bzero(keyPtr, sizeof(keyPtr));

[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];

NSUInteger dataLength = [data length];

size_t bufferSize = dataLength + kCCBlockSizeAES128;

void *buffer = malloc(bufferSize);

size_t numBytesEncrypted = 0;

CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmDES,

kCCOptionPKCS7Padding | kCCOptionECBMode,

keyPtr, kCCBlockSizeDES,

NULL,

[data bytes], dataLength,

buffer, bufferSize,

&numBytesEncrypted);

if (cryptStatus == kCCSuccess) {

return [NSData dataWithBytesNoCopy:buffer length:numBytesEncrypted];

}

free(buffer);

return nil;

}

/******************************************************************************

函数名称 : + (NSData *)DESEncrypt:(NSData *)data WithKey:(NSString *)key

函数描述 : 文本数据进行DES解密

输入参数 : (NSData *)data

(NSString *)key

输出参数 : N/A

返回参数 : (NSData *)

备注信息 : 此函数不可用于过长文本

******************************************************************************/

+ (NSData *)DESDecrypt:(NSData *)data WithKey:(NSString *)key

{

char keyPtr[kCCKeySizeAES256+1];

bzero(keyPtr, sizeof(keyPtr));

[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];

NSUInteger dataLength = [data length];

size_t bufferSize = dataLength + kCCBlockSizeAES128;

void *buffer = malloc(bufferSize);

size_t numBytesDecrypted = 0;

CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmDES,

kCCOptionPKCS7Padding | kCCOptionECBMode,

keyPtr, kCCBlockSizeDES,

NULL,

[data bytes], dataLength,

buffer, bufferSize,

&numBytesDecrypted);

if (cryptStatus == kCCSuccess) {

return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted];

}

free(buffer);

return nil;

}

/******************************************************************************

函数名称 : + (NSData *)dataWithBase64EncodedString:(NSString *)string

函数描述 : base64格式字符串转换为文本数据

输入参数 : (NSString *)string

输出参数 : N/A

返回参数 : (NSData *)

备注信息 :

******************************************************************************/

+ (NSData *)dataWithBase64EncodedString:(NSString *)string

{

if (string == nil)

[NSException raise:NSInvalidArgumentException format:nil];

if ([string length] == 0)

return [NSData data];

static char *decodingTable = NULL;

if (decodingTable == NULL)

{

decodingTable = malloc(256);

if (decodingTable == NULL)

return nil;

memset(decodingTable, CHAR_MAX, 256);

NSUInteger i;

for (i = 0; i < 64; i++)

decodingTable[(short)encodingTable[i]] = i;

}

const char *characters = [string cStringUsingEncoding:NSASCIIStringEncoding];

if (characters == NULL)     //  Not an ASCII string!

return nil;

char *bytes = malloc((([string length] + 3) / 4) * 3);

if (bytes == NULL)

return nil;

NSUInteger length = 0;

NSUInteger i = 0;

while (YES)

{

char buffer[4];

short bufferLength;

for (bufferLength = 0; bufferLength < 4; i++)

{

if (characters[i] == '\0')

break;

if (isspace(characters[i]) || characters[i] == '=')

continue;

buffer[bufferLength] = decodingTable[(short)characters[i]];

if (buffer[bufferLength++] == CHAR_MAX)      //  Illegal character!

{

free(bytes);

return nil;

}

}

if (bufferLength == 0)

break;

if (bufferLength == 1)      //  At least two characters are needed to produce one byte!

{

free(bytes);

return nil;

}

//  Decode the characters in the buffer to bytes.

bytes[length++] = (buffer[0] << 2) | (buffer[1] >> 4);

if (bufferLength > 2)

bytes[length++] = (buffer[1] << 4) | (buffer[2] >> 2);

if (bufferLength > 3)

bytes[length++] = (buffer[2] << 6) | buffer[3];

}

bytes = realloc(bytes, length);

return [NSData dataWithBytesNoCopy:bytes length:length];

}

/******************************************************************************

函数名称 : + (NSString *)base64EncodedStringFrom:(NSData *)data

函数描述 : 文本数据转换为base64格式字符串

输入参数 : (NSData *)data

输出参数 : N/A

返回参数 : (NSString *)

备注信息 :

******************************************************************************/

+ (NSString *)base64EncodedStringFrom:(NSData *)data

{

if ([data length] == 0)

return @"";

char *characters = malloc((([data length] + 2) / 3) * 4);

if (characters == NULL)

return nil;

NSUInteger length = 0;

NSUInteger i = 0;

while (i < [data length])

{

char buffer[3] = {0,0,0};

short bufferLength = 0;

while (bufferLength < 3 && i < [data length])

buffer[bufferLength++] = ((char *)[data bytes])[i++];

//  Encode the bytes in the buffer to four characters, including padding "=" characters if necessary.

characters[length++] = encodingTable[(buffer[0] & 0xFC) >> 2];

characters[length++] = encodingTable[((buffer[0] & 0x03) << 4) | ((buffer[1] & 0xF0) >> 4)];

if (bufferLength > 1)

characters[length++] = encodingTable[((buffer[1] & 0x0F) << 2) | ((buffer[2] & 0xC0) >> 6)];

else characters[length++] = '=';

if (bufferLength > 2)

characters[length++] = encodingTable[buffer[2] & 0x3F];

else characters[length++] = '=';

}

return [[NSString alloc] initWithBytesNoCopy:characters length:length encoding:NSASCIIStringEncoding freeWhenDone:YES];

}

//分分秒秒

+ (NSString *)timeFormattedMMSS:(int)totalSeconds

{

int seconds = totalSeconds % 60;

int minutes = totalSeconds / 60;

return [NSString stringWithFormat:@"%02d:%02d",minutes, seconds];

}

//时时分分秒秒

+ (NSString *)timeFormattedHHMMSS:(int)totalSeconds

{

int seconds = totalSeconds % 60;

int minutes = (totalSeconds / 60) % 60;

int hours = totalSeconds / 3600;

return [NSString stringWithFormat:@"%02d:%02d:%02d",hours, minutes, seconds];

}

//将"60_20_200_30"返回一个cgrect

+ (CGRect )strForCgrect:(NSString *)str

{

//    NSMutableDictionary *_result = [@{}mutableCopy];

CGRect frame = CGRectZero;

if (str) {

NSString *_fFrameStr = str;

if (_fFrameStr) {

CGRect _fra = CGRectZero;

NSArray *_frameAry = [_fFrameStr componentsSeparatedByString:@"_"];

float _x = 0;

float _y = 0;

float _fx = 0;

float _fy = 0;

_x = [(NSString *)_frameAry[0] floatValue];

_y = [(NSString *)_frameAry[1] floatValue];

_fx = [(NSString *)_frameAry[2] floatValue];

_fy = [(NSString *)_frameAry[3] floatValue];

_fra = CGRectMake(_x, _y, _fx, _fy);

frame = _fra;

}

}

return frame;

}

//判断int数是否小于10,如果小于10 拼接0~

+ (NSString *)intIsLessThanTen:(int)little

{

NSString *resultString = @"";

if (little < 10) {

resultString = [NSString stringWithFormat:@"0%d",little];

}else

{

resultString = [NSString stringWithFormat:@"%d",little];

}

return resultString;

}

//是否包涵空格

+ (BOOL)stringIsContainBlank:(NSString *)targetStr

{

BOOL _flag = NO;

if ([targetStr containsString:@" "]) {

_flag = YES;

}else

{

_flag = NO;

}

return _flag;

}

//保存数据

+ (void)nsuserDefaultSetvalueWithKey:(NSString *)key Value:(NSString *)value

{

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

[userDefaults setValue:value forKey:key];

}

//读取数据

+ (NSString *)nsuserDefaultObjectForKeyWithKey:(NSString *)key

{

NSString *resultString = [NSString string];

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

resultString = [userDefaults objectForKey:key];

return resultString;

}

@end

ios 加密解密工具类字符判断等的更多相关文章

  1. Base64加密解密工具类

    使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...

  2. .Net(c#)加密解密工具类:

    /// <summary> /// .Net加密解密帮助类 /// </summary> public class NetCryptoHelper { #region des实 ...

  3. java加密解密工具类

    package com.founder.mrp.util; import java.nio.charset.StandardCharsets; import java.security.Key; im ...

  4. AES加密解密工具类封装(AESUtil)

    package club.codeapes.common.utils; import org.springframework.util.Base64Utils; import javax.crypto ...

  5. 加密解密工具类(Java,DES)

    一个Java版的DES加密工具类,能够用来进行网络传输数据加密,保存password的时候进行加密. import java.security.Key; import java.security.sp ...

  6. java 加密解密工具类(实用!!!)

    最近发现了一个加密解密的好例子,很方便使用,可以作为平时开发的工具集,记录一下. package com.sh.springboottdemo2.util; import com.sun.org.ap ...

  7. des 加密解密工具类

    最近在做des的双对称加密解密,特此记录一下. des对称加密,是一种比较传统的加密方式,其加密运算.解密运算使用的是同样的密钥,信息的发送者和信息的接收者在进行信息的传输与处理时,必须共同持有该密码 ...

  8. 自写AES加密解密工具类

    此类主要用于加密与解密,采用128位ECB模式,PKCS5Padding填充补位. 可使用方法为加密返回二进制encryptBin(content, key).加密返回十六进制encryptHex(c ...

  9. Java-DES算法加密解密工具类

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import ...

随机推荐

  1. Hadoop NameNode 高可用 (High Availability) 实现解析

    转载自:http://reb12345reb.iteye.com/blog/2306818 在 Hadoop 的整个生态系统中,HDFS NameNode 处于核心地位,NameNode 的可用性直接 ...

  2. 模块讲解----configparser模块(my.cnf配置文件操作)

    查询 1.所有节点: 2.指定节点下的所有key和values: 3.指定节点下所有的key: 4.指定节点和key下的values: # #configparser用于处理特定格式的文件,其本质上是 ...

  3. Linux 中的 Service

    参考: cnblogs.com/xiaofan21 - linux service和daemon cnblogs.com/xuange306 - linux service命令常见使用方法 cnblo ...

  4. 【运维技术】从零开始搭建开发使用的Kafka环境

    [原创]从零开始搭建开发使用的Kafka环境 入门资料 百度百科: Kafka是一种高吞吐量的分布式发布订阅消息系统,这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决. 对于像Hadoop ...

  5. Python3:sqlalchemy对sybase数据库操作,非sql语句

    Python3:sqlalchemy对sybase数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- c ...

  6. 四种常见的 POST 提交数据方式 专题

    定义和用法 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码.默认地,表单数据会编码为 "application/x-www-form-urlencoded". ...

  7. Java Quartz用法

    code: 这里的MyJob必须是public,这里Job实例化的时候要用到反射,必须是public的,不能与调度操作放同一个.java文件中. package com.qhong; import o ...

  8. springboot属性类自动加载配置文件中的值

    springboot属性类自动加载配置文件中的值,如Person类加载在yml中配置的name,age等属性值,可以通过如下步骤获取: 类上添加@ConfigurationProperties注解,p ...

  9. 【异常记录(七)】MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法 [转]

    从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值. 说明:  ...

  10. 发起图片请求的几种可能性(webkit内核)

    网页测试源代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...