AI智能
改变未来

iOS AES加密方式,加密模式ECB,填充方式pkcs7padding

[code]#import <CommonCrypto/CommonCryptor.h>// AES加密之ECB128模式 Padding- (NSString *)cs_aes128EncryptECBModeWithkey:(NSString *)key {        if (key.length == 0) {        key = @\"AES128Key\";    }    char keyPtr[kCCKeySizeAES128+1];    memset(keyPtr, 0, sizeof(keyPtr));    [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];    NSData* data = [self dataUsingEncoding:NSUTF8StringEncoding];    NSUInteger dataLength = [data length];    size_t bufferSize = dataLength + kCCBlockSizeAES128;    void *buffer = malloc(bufferSize);    size_t numBytesEncrypted = 0;    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt,                                          kCCAlgorithmAES128,                                          kCCOptionPKCS7Padding|kCCOptionECBMode,                                          keyPtr,                                          kCCBlockSizeAES128,                                          NULL,                                          [data bytes],                                          dataLength,                                          buffer,                                          bufferSize,                                          &numBytesEncrypted);    if (cryptStatus == kCCSuccess) {        NSData *resultData = [NSData dataWithBytesNoCopy:buffer length:numBytesEncrypted];        NSString *base64String = [resultData base64EncodedStringWithOptions:0];        return base64String;    }    free(buffer);    return nil;}

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » iOS AES加密方式,加密模式ECB,填充方式pkcs7padding