AES加密算法

  • d4_475138
    了解作者
  • 2.7KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-06 01:27
    上传日期
AES加密算法--AES加密算法---AES加密算法--AES加密算法
AES加密算法.rar
  • AES加密算法
  • android.txt
    1.4KB
  • IOS.txt
    3KB
  • net.txt
    2.5KB
内容介绍
static const char* encryptWithKeyAndType(const char *text,CCOperation encryptOperation,char *key) { NSString *textString=[[NSString alloc]initWithCString:text encoding:NSUTF8StringEncoding]; // NSLog(@"[[item.url description] UTF8String=%@",textString); const void *dataIn; size_t dataInLength; if (encryptOperation == kCCDecrypt)//传递decrypt 解码 { //解码 base64 NSData *decryptData = [GTMBase64 decodeData:[textString dataUsingEncoding:NSUTF8StringEncoding]];//转utf-8并decode dataInLength = [decryptData length]; dataIn = [decryptData bytes]; } else //encrypt { NSData* encryptData = [textString dataUsingEncoding:NSUTF8StringEncoding]; dataInLength = [encryptData length]; dataIn = (const void *)[encryptData bytes]; } CCCryptorStatus ccStatus; uint8_t *dataOut = NULL; //理解位type/typedef 缩写(效维护代码比:用int用long用typedef定义) size_t dataOutAvailable = 0; //size_t 操作符sizeof返结类型 size_t dataOutMoved = 0; dataOutAvailable = (dataInLength + kCCBlockSizeDES) & ~(kCCBlockSizeDES - 1); dataOut = malloc( dataOutAvailable * sizeof(uint8_t)); memset((void *)dataOut, 00, dataOutAvailable);//已辟内存空间buffer首 1 字节值设值 0 //NSString *initIv = @"12345678"; const void *vkey = key; const void *iv = (const void *) key; //[initIv UTF8String]; //CCCrypt函数 加密/解密 ccStatus = CCCrypt(encryptOperation,// 加密/解密 kCCAlgorithmDES,// 加密根据哪标准(des3desaes) kCCOptionPKCS7Padding,// 选项组密码算(des:每块组加密 3DES:每块组加三同密) vkey, //密钥 加密解密密钥必须致 kCCKeySizeDES,// DES 密钥(kCCKeySizeDES=8) iv, // 选初始矢量 dataIn, // 数据存储单元 dataInLength,// 数据 (void *)dataOut,// 用于返数据 dataOutAvailable, &dataOutMoved); NSString *result = nil; if (encryptOperation == kCCDecrypt)//encryptOperation==1 解码 { //解密data数据改变utf-8字符串 result = [[NSString alloc] initWithData:[NSData dataWithBytes:(const void *)dataOut length:(NSUInteger)dataOutMoved] encoding:NSUTF8StringEncoding]; } else //encryptOperation==0 (加密程加密数据转base64) { //编码 base64 NSData *data = [NSData dataWithBytes:(const void *)dataOut length:(NSUInteger)dataOutMoved]; result = [GTMBase64 stringByEncodingData:data]; } return [result UTF8String]; } +(NSString*)encryptWithContent:(NSString*)content type:(CCOperation)type key:(NSString*)aKey { const char * contentChar =[content UTF8String]; char * keyChar =(char*)[aKey UTF8String]; const char *miChar; miChar = encryptWithKeyAndType(contentChar, type, keyChar); return [NSString stringWithCString:miChar encoding:NSUTF8StringEncoding]; }
评论
    相关推荐
    • 程序员算法
      这是一个算法文档压缩包,其中包括《可能与不可能的边界》、《具体数学》、《算法的乐趣》、《啊哈!算法》。这些书很适合对算法感兴趣的朋友,书籍讲解算法非常有趣。注意,其中有些文档是试读版本。
    • 算法实验
      算法实验算法实验算法实验算法实验算法实验算法实验算法实验算法实验
    • 大数据算法
      本书共分为10章,第1章概述大数据算法,第2章介绍时间亚线性算法,第3章介绍空间亚线性算法,第4章概述外存算法,第5章介绍大数据外存查找结构,第6章讲授外存图数据算法,第7章概述MapReduce算法,第8章通过一系列...
    • 算法
      算法 算法
    • SIFT 算法
      SIFT 算法SIFT 算法SIFT 算法SIFT 算法
    • RSA算法
      RSA算法是公钥加密算法中重要的算法之一,本算法即实现RSA的加解密过程。
    • 分词算法介分词算法
      算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语分词介绍分词算法 汉语...
    • unify算法
      unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法unify算法
    • 寻路算法
      寻路算法 寻路封装
    • dsp算法算法算法算法
      dsp各种算法