iOS使用DES加解密
2013-03-07 10:45
113 查看
这里使用框架提供的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;}
相关文章推荐
- iOS使用DES加解密
- iOS使用DES加解密
- iOS 当使用DES解密遇到和解密不一致或者为空的时候问题
- iOS使用DES加解密
- iOS - 加解密(对称,非对称)(AES DES base64这里都有),数字签名,cookie
- 使用DES数据加密与解密的java代码
- java加解密之DES多种使用方式
- C#中使用DES和AES加密解密
- IOS 加密解密(AES、DES、base64、md5)
- iOS下使用rsa算法与php进行加解密通讯
- iOS中使用RSA对数据进行加密解密
- DES 加解密的封装和 使用的例子
- Java DES 加密和解密算法的使用
- ios下使用RSA算法加密与java后台解密配合demo
- android、ios与服务器端php使用rsa加密解密通讯
- android、ios与服务器端php使用rsa加密解密通讯
- C/C++使用openssl进行摘要和加密解密(md5, sha256, des, rsa)
- iOS中使用RSA对数据进行加密解密
- android、ios与服务器端php使用rsa加密解密通讯
- android、ios与服务器端php使用rsa加密解密通讯