swift中调用OC对称加密AES
来源:互联网 发布:药智数据库官网 编辑:程序博客网 时间:2024/06/06 10:03
swift中调用AES加密
let aesSecretKey="**********"CCUser.defaultUser.login(userNameTF.text!.AES128EncryptWithKey(aesSecretKey), password: passwordTF.text!.AES128EncryptWithKey(aesSecretKey)){(result)->Void in}
AES加密方法:最终以16进制字符串输出
//NSString->NSString,- (NSString *)AES128EncryptWithKey:(NSString *)key{ NSData *encryptData = [[self dataUsingEncoding:NSUTF8StringEncoding] AES128EncryptWithKey:key];// const char *cstr = [self cStringUsingEncoding:NSUTF8StringEncoding];// NSData *data = [NSData dataWithBytes:cstr length:self.length];// NSData *encryptData = [data AES128EncryptWithKey:key];// NSData转16进制字符串输出 if (!encryptData || [encryptData length] == 0) { return @""; } NSMutableString *string = [[NSMutableString alloc] initWithCapacity:[encryptData length]]; [encryptData enumerateByteRangesUsingBlock:^(const void *bytes, NSRange byteRange, BOOL *stop) { unsigned char *dataBytes = (unsigned char*)bytes; for (NSInteger i = 0; i < byteRange.length; i++) { NSString *hexStr = [NSString stringWithFormat:@"%x", (dataBytes[i]) & 0xff]; if ([hexStr length] == 2) { [string appendString:hexStr]; } else { [string appendFormat:@"0%@", hexStr]; } } }]; NSLog(@"string %@",string); return string;}//NSString->NSData- (NSData *)AES128EncryptWithKey:(NSString *)key { char keyPtr[kCCKeySizeAES128+1]; bzero(keyPtr, sizeof(keyPtr)); [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding]; NSUInteger dataLength = [self length]; size_t bufferSize = dataLength + kCCBlockSizeAES128; void *buffer = malloc(bufferSize); size_t numBytesEncrypted = 0; CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmAES, kCCOptionPKCS7Padding | kCCOptionECBMode, keyPtr, kCCKeySizeAES128 , NULL, [self bytes], dataLength, buffer, bufferSize, &numBytesEncrypted); if (cryptStatus == kCCSuccess) { return [NSData dataWithBytesNoCopy:buffer length:numBytesEncrypted]; } free(buffer); return nil;}
0 0
- swift中调用OC对称加密AES
- Android 中 非对称(RSA)加密和对称(AES)加密
- Android 中 非对称(RSA)加密和对称(AES)加密
- JAVA中AES对称加密和解密
- JAVA中AES对称加密和解密
- 对称算法中AES加密解密算法
- AES对称加密例子
- AES对称加密
- Java-对称加密-AES
- AES对称加密
- AES对称加密
- AES对称加密Util
- 理解AES对称加密
- AES加密对称算法
- 对称加密:AES
- 对称加密------AES
- 对称加密之AES加密
- 加密方式-对称加密(AES)
- lintcode: Binary Representation
- Jclouds 使用(1)安装
- Echatrs实现水平竖直90度标线及浮动范围和最高值的效果
- CAS 实现单点登录(SSO)基本实现流程(一)
- 4.Redis学习-hash数据类型操作
- swift中调用OC对称加密AES
- 大端模式和小端模式的区别
- C# Lambda Expression概念浅析
- 关于$.ajax()在jsp中失效
- 从最大似然到EM算法浅解
- Android将Bitmap 以图片形式保存到sd卡中
- Alert
- Android自定义ViewGroup打造各种风格的SlidingMenu
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)