//用到了GTMBase64可以去网上下载,我的csdn上有代码下载 地址 http://download.csdn.net/detail/liwei5bao/9132533
#import "ViewController.h"
#import "GTMBase64.h"
#include <CommonCrypto/CommonCryptor.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
NSString *encryptString =@"我爱你中国";
//加密
NSString *encrypt = [selfencryptUseDES:encryptStringkey:@"wanzg"];
//打印
NSLog(@"%@",encrypt);
//解密
NSString *decrypt = [selfdecryptUseDES:encryptkey:@"wanzg"];
NSLog(@"%@",decrypt);
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
//DES解密方法
-(NSString*) decryptUseDES:(NSString*)cipherText key:(NSString*)key {
// 利用 GTMBase64 解碼 Base64 字串
NSData* cipherData = [GTMBase64decodeString:cipherText];
unsigned char buffer[1024];
memset(buffer,0,sizeof(char));
size_t numBytesDecrypted =0;
// IV 偏移量不需使用
CCCryptorStatus cryptStatus =CCCrypt(kCCDecrypt,
kCCAlgorithmDES,
kCCOptionPKCS7Padding|kCCOptionECBMode,
[keyUTF8String],
kCCKeySizeDES,
nil,
[cipherDatabytes],
[cipherDatalength],
buffer,
1024,
&numBytesDecrypted);
NSString* plainText =nil;
if (cryptStatus ==kCCSuccess) {
NSData* data = [NSDatadataWithBytes:bufferlength:(NSUInteger)numBytesDecrypted];
plainText = [[NSStringalloc]initWithData:dataencoding:NSUTF8StringEncoding];
}
return plainText;
}
//DES加密方法
- (NSString *) encryptUseDES:(NSString *)clearText key:(NSString *)key{
NSData *data = [clearTextdataUsingEncoding:NSUTF8StringEncoding];
unsigned char buffer[1024];
memset(buffer,0,sizeof(char));
size_t numBytesEncrypted =0;
CCCryptorStatus cryptStatus =CCCrypt(kCCEncrypt,
kCCAlgorithmDES,
kCCOptionPKCS7Padding|kCCOptionECBMode,
[keyUTF8String],
kCCKeySizeDES,
nil,
[databytes],
[datalength],
buffer,
1024,
&numBytesEncrypted);
NSString* plainText =nil;
if (cryptStatus ==kCCSuccess) {
NSData *dataTemp = [NSDatadataWithBytes:bufferlength:(NSUInteger)numBytesEncrypted];
plainText = [GTMBase64stringByEncodingData:dataTemp];
}else{
NSLog(@"DES加密失败");
}
return plainText;
}
@end
2015-09-23 11:14:56.927 DES加密实现[2285:644997] hDcQRzpkrphr4EPzB0vpxA==
2015-09-23 11:14:56.927 DES加密实现[2285:644997]我爱你中国