无标题文章

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;

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、设置UILabel行间距 NSMutableAttributedString*attrString=[[NSM...
    iOS祎阅读 2,372评论 0 0
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 2,068评论 0 9
  • 引言 如今手机app五彩缤纷,确保手机用户的数据安全是开发人员必须掌握的技巧,下面通过实例介绍DES在androi...
    freesan44阅读 1,228评论 1 1
  • 苏格拉底 未经省察的人生是不值得过的--苏格拉底 之于苏格拉底,我们从年幼时期起就应当触及过,在我们的学习成长过程...
    咔咔西2021阅读 1,084评论 3 3
  • 刺耳的切割机的的声音将我从睡梦中惊醒 刺眼的阳光从窗帘缝里射进来 直落到我的胸口 仿佛要将我的内心刺透 麻木的起身...
    换日线ylp阅读 186评论 0 0

友情链接更多精彩内容