美文网首页
无标题文章

无标题文章

作者: IOS开发攻城狮_Fyc | 来源:发表于2017-03-27 16:14 被阅读0次

    iOS  DES加密

    1.首先引入头文件

    #import "GTMBase64.h"

    #import <CommonCrypto/CommonCryptor.h>

    2.DES分为加密和解密

    //密钥

    #define gkey            @"123abc@1234"

    //偏移量

    #define gIv            @"01234567"

    加密方法

    #pragma mark - 加密方法

    + (NSString*)encrypt:(NSString*)plainText {

    NSData* data = [plainText dataUsingEncoding:NSUTF8StringEncoding];

    size_t plainTextBufferSize = [data length];

    const void *vplainText = (const void *)[data bytes];

    CCCryptorStatus ccStatus;

    uint8_t *bufferPtr = NULL;

    size_t bufferPtrSize = 0;

    size_t movedBytes = 0;

    bufferPtrSize = (plainTextBufferSize + kCCBlockSize3DES) & ~(kCCBlockSize3DES - 1);

    bufferPtr = malloc( bufferPtrSize * sizeof(uint8_t));

    memset((void *)bufferPtr, 0x0, bufferPtrSize);

    const void *vkey = (const void *) [gkey UTF8String];

    const void *vinitVec = (const void *) [gIv UTF8String];

    ccStatus = CCCrypt(kCCEncrypt,

    kCCAlgorithm3DES,

    kCCOptionPKCS7Padding,

    vkey,

    kCCKeySize3DES,

    vinitVec,

    vplainText,

    plainTextBufferSize,

    (void *)bufferPtr,

    bufferPtrSize,

    &movedBytes);

    NSData *myData = [NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes];

    NSString *result = [GTMBase64 stringByEncodingData:myData];

    return result;

    }


    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/tvurottx.html