// // PGGCryptoDES.m // PGGCrypto // // Created by 陈鹏 on 2017/10/24. // Copyright © 2017年 penggege.CP. All rights reserved. // GitHub地址 https://github.com/penghero/PGGCrypto.git #import "PGGCryptoDES.h" #import "GTMBase64.h" #import //#define PGGkey @"#probim*" //#define PGGiv @"#probim*" #define PGGkey @"abcabcabcabcabcabcabcabc" #define PGGiv @"1234567890000000" @implementation PGGCryptoDES // Des加密 +(NSString *) encryptUseDES:(NSString *)plainText { NSString *ciphertext = nil; NSData *textData = [plainText dataUsingEncoding:NSUTF8StringEncoding]; NSUInteger dataLength = [textData length]; unsigned char buffer[1024]; memset(buffer, 0, sizeof(char)); size_t numBytesEncrypted = 0; CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmDES, kCCOptionPKCS7Padding, [PGGkey UTF8String], kCCKeySizeDES, [PGGiv UTF8String], [textData bytes], dataLength, buffer, 1024, &numBytesEncrypted); if (cryptStatus == kCCSuccess) { NSData *data = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesEncrypted]; ciphertext = [GTMBase64 stringByEncodingData:data]; } return ciphertext; } // Des解密 +(NSString *)decryptUseDES:(NSString *)cipherText { NSString *plaintext = nil; NSData *cipherdata = [GTMBase64 decodeString:cipherText]; unsigned char buffer[1024]; memset(buffer, 0, sizeof(char)); size_t numBytesDecrypted = 0; CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmDES, kCCOptionPKCS7Padding, [PGGkey UTF8String], kCCKeySizeDES, [PGGiv UTF8String], [cipherdata bytes], [cipherdata length], buffer, 1024, &numBytesDecrypted); if(cryptStatus == kCCSuccess){ NSData *plaindata = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesDecrypted]; plaintext = [[NSString alloc]initWithData:plaindata encoding:NSUTF8StringEncoding]; } return plaintext; } @end