这里使用框架提供的des加解密库: 首先引入头文件 #import <CommonCrypto/CommonCryptor.h>
主要的加解密函数如下:
/*字符串加密*参数*plainText : 加密明文*key : 密钥 64位*/+ (NSString *) encryptUseDES:(NSString *)plainText key:(NSString *)key{NSString *ciphertext = nil;const char *textBytes = [plainText UTF8String];NSUInteger dataLength = [plainText length];unsigned char buffer[1024];memset(buffer, 0, sizeof(char));Byte iv[] = {1,2,3,4,5,6,7,8};size_t numBytesEncrypted = 0;CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmDES,kCCOptionPKCS7Padding,[key UTF8String], kCCKeySizeDES,iv,textBytes, dataLength,buffer, 1024,&numBytesEncrypted);if (cryptStatus == kCCSuccess) {NSData *data = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesEncrypted];ciphertext = [[[NSString alloc] initWithData:[GTMBase64 encodeData:data] encoding:NSUTF8StringEncoding] autorelease];}return ciphertext;}//解密+ (NSString *) decryptUseDES:(NSString*)cipherText key:(NSString*)key{NSData* cipherData = [GTMBase64 decodeString:cipherText];unsigned char buffer[1024];memset(buffer, 0, sizeof(char));size_t numBytesDecrypted = 0;Byte iv[] = {1,2,3,4,5,6,7,8};CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt,kCCAlgorithmDES,kCCOptionPKCS7Padding,[key UTF8String],kCCKeySizeDES,iv,[cipherData bytes],[cipherData length],buffer,1024,&numBytesDecrypted);NSString* plainText = nil;if (cryptStatus == kCCSuccess) {NSData* data = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesDecrypted];plainText = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];}return plainText;}