#pragma mark--------Code--------------
+ (NSString *) EncodeBase64: (NSString *) text
{
NSData * data = [text datausingencoding:nsutf8stringencoding allowlossyconversion:yes];
Convert to Base64
data = [GTMBase64 encodedata:data];
NSString * base64string = [[[NSString Alloc] initwithdata:data encoding:nsutf8stringencoding] autorelease];
return base64string;
}
+ (NSString *) DecodeBase64: (NSString *) text
{
NSData * data = [text datausingencoding:nsutf8stringencoding allowlossyconversion:yes];
Convert to Normal
data = [GTMBase64 decodedata:data];
NSString * string = [[NSString alloc] initwithdata:data encoding:nsutf8stringencoding] autorelease];
return string;
}
URL encoding
+ (NSString *) encodetopercentescapestring: (NSString *) input
{
NSString *outputstr = (NSString *)
Cfurlcreatestringbyaddingpercentescapes (Kcfallocatordefault,
(cfstringref) input,
Null
(cfstringref) @ "!*" ();: @&=+$,/?%#[] ",
KCFSTRINGENCODINGUTF8);
if (!outputstr | | (NSNull *) Outputstr = = [NSNull Null] | | OUTPUTSTR.LENGTH<1)
{
return @ "";
}
return outputstr;
}
MD5 encryption
+ (NSString *) md5string: (NSString *) str
{
const char *ORIGINAL_STR = [Str utf8string];
unsigned char result[cc_md5_digest_length];
CC_MD5 (ORIGINAL_STR, (int) strlen (ORIGINAL_STR), result);
nsmutablestring *hash = [nsmutablestring string];
for (int i = 0; i <; i++)
[Hash appendformat:@ "%02x", Result[i]];
return [hash lowercasestring];
}
Static inline char Hexchar (unsigned char c) {
Return C < 10? ' 0 ' + C: ' a ' + c-10;
}
static inline void hexstring (unsigned char *from, char *to, Nsuinteger length) {
for (Nsuinteger i = 0; i < length; ++i) {
unsigned char c = from[i];
unsigned char Chigh = c >> 4;
unsigned char Clow = c & 0xf;
To[2 * I] = Hexchar (Chigh);
to[2 * i + 1] = Hexchar (Clow);
}
to[2 * Length] = ' + ';
}
NSString * SHA1 (const char *string)
{
if (!string)
{
return nil;
}
static const Nsuinteger LENGTH = 20;
unsigned char result[length];
CC_SHA1 (String, (Cc_long) strlen (string), result);
Char hexresult[2 * LENGTH + 1];
HexString (result, Hexresult, LENGTH);
return [NSString Stringwithutf8string:hexresult];
}
BASE64 encoding-MD5 Encryption-URL encoding