-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOSUserDefaults.m
More file actions
executable file
·73 lines (60 loc) · 2.53 KB
/
OSUserDefaults.m
File metadata and controls
executable file
·73 lines (60 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#import "OSUserDefaults.h"
#import "NSData+OSBase64.h"
#import "NSUserDefaults+OSUserDefaults.h"
@implementation OSUserDefaults
+ (NSString *) getDateNow{
NSDate *today = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:today];
return dateString ;
}
+ (NSString *) getDate{
NSDate *today = [[NSDate alloc] init] ;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH-mm-ss"];
NSString *dateString = [dateFormatter stringFromDate:today];
return dateString ;
}
+ (NSString *) iCodedStringWithDate:(NSString *)str{
NSString *codedValue = [self base64Encode:str];
NSString *codedDateValue = [[self base64Encode:[self getDate]] substringToIndex:10];
NSString *encodeValue = [NSString stringWithFormat:@"%@%@%@",[codedValue substringWithRange:NSMakeRange(0,2)],codedDateValue,[codedValue substringFromIndex:2]];
return encodeValue;
}
+ (NSString *) iDecodeString:(NSString *)str{
NSString *decodeValue = str;
@try {
decodeValue = [NSString stringWithFormat:@"%@%@",[str substringWithRange:NSMakeRange(0,2)],[str substringFromIndex:12]];
}@catch (NSException *exception) {}@finally {}
return decodeValue;
}
+ (void) saveData:(NSString *)value withKey:(NSString *)key{
NSString *encodeValue = value;
[NSUserDefaults setSecret:@"Secret"];
if (![value isEqualToString:@""]) {
encodeValue = [self iCodedStringWithDate:value];
}
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setSecureObject:encodeValue forKey:key];
[prefs synchronize];
}
+ (NSString *) getDataWithKey:(NSString *)key{
[NSUserDefaults setSecret:@"Secret"];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
BOOL valid = NO;
NSString *value = [prefs secureObjectForKey:key valid:&valid];
NSString *decodeValue = [self iDecodeString:value];
return [self base64Decode:decodeValue];
}
+ (NSString *)base64Encode:(NSString *)plainText{
NSData *plainTextData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [plainTextData base64EncodedString];
return base64String;
}
+ (NSString *)base64Decode:(NSString *)base64String{
NSData *plainTextData = [NSData dataFromBase64String:base64String];
NSString *plainText = [[NSString alloc] initWithData:plainTextData encoding:NSUTF8StringEncoding];
return plainText;
}
@end