//
|
// 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 <CommonCrypto/CommonCrypto.h>
|
//#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
|