iOS使用DES加解密
来源:互联网 发布:云led控制软件 编辑:程序博客网 时间:2024/05/28 16:30
这里使用框架提供的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;}
0 0
- iOS使用DES加解密
- iOS使用DES加解密
- iOS使用DES加解密
- iOS使用DES加解密
- IOS之DES加解密
- iOS 3DES加解密
- ios java 3DES 加解密
- iOS des加解密 base64输出
- C#使用DES加解密数据
- 使用DES方式,加、解密字符
- java使用3des加解密
- .net使用des方式加解密
- ios des加密与解密(对应JAVA加解密)
- DES加解密
- Des加解密源代码
- DES加解密
- DES加解密算法
- DES 加解密
- Retrofit
- leetcode系列(76)Remove Linked List Elements
- 逐梦C++之二:输入与输出
- HDOJ 5615 Jam's math problem (数学题枚举)
- (二)colletions模块总结,跳出3重循环代码总结,替换文件中某一字段代码总结
- iOS使用DES加解密
- android布局的复用
- java入门实例之小试牛刀--利用Scanner制作个人简历
- LeetCode152. Maximum Product Subarray
- The vertically scrolling ScrollView should not contain another vertically scrolling widget (ListView
- 对称加密 非对称加密 不可逆加密算法
- 如何将word文件转化为Latex文件:word-to-latex-2.56详解
- HDOJ 5616 Jam's balance (暴力)
- HDU1754 线段树