+ (NSString*)TripleDES:(NSString*)plainText encryptOrDecrypt:(CCOperation)encryptOrDecrypt
{const void *vplainText;size_t plainTextBufferSize;if (encryptOrDecrypt == kCCDecrypt)//解密{NSData *EncryptData = [GTMBase64 decodeData:[plainText dataUsingEncoding:NSUTF8StringEncoding]];plainTextBufferSize = [EncryptData length];vplainText = [EncryptData bytes];}else //加密{NSData* data = [plainText dataUsingEncoding:NSUTF8StringEncoding];plainTextBufferSize = [data length];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);// memset((void *) iv, 0x0, (size_t) sizeof(iv));const void *vkey = (const void *)[DESKEY UTF8String];// NSString *initVec = @"init Vec";//const void *vinitVec = (const void *) [initVec UTF8String];//  Byte iv[] = {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};ccStatus = CCCrypt(encryptOrDecrypt,kCCAlgorithm3DES,kCCOptionPKCS7Padding | kCCOptionECBMode,vkey,kCCKeySize3DES,nil,vplainText,plainTextBufferSize,(void *)bufferPtr,bufferPtrSize,&movedBytes);//if (ccStatus == kCCSuccess) NSLog(@"SUCCESS");/*else if (ccStatus == kCC ParamError) return @"PARAM ERROR";else if (ccStatus == kCCBufferTooSmall) return @"BUFFER TOO SMALL";else if (ccStatus == kCCMemoryFailure) return @"MEMORY FAILURE";else if (ccStatus == kCCAlignmentError) return @"ALIGNMENT";else if (ccStatus == kCCDecodeError) return @"DECODE ERROR";else if (ccStatus == kCCUnimplemented) return @"UNIMPLEMENTED"; */NSString *result;if (encryptOrDecrypt == kCCDecrypt){result = [[NSString alloc] initWithData:[NSData dataWithBytes:(const void *)bufferPtrlength:(NSUInteger)movedBytes]encoding:NSUTF8StringEncoding];}else{NSData *myData = [NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes];result = [GTMBase64 stringByEncodingData:myData];}return result;
}
OK

iOS 3DES加密无盐值加密相关推荐

  1. MD5码加密(盐值加密)

    MD5码加密(盐值加密) ​ 主要应用于用户密码在数据库的存储,当我们需要保存用户账号密码信息用于身份验证时,如果密码直接以明码的形式保存在数据库,很容易在数据库信息泄露时造成安全隐患. ​ 所以需要 ...

  2. java shiro盐值加密_shiro盐值加密并验证

    在数据表中存的密码不应该是123456,而应该是123456加密之后的字符串,而且还要求这个加密算法是不可逆的,即由加密后的字符串不能反推回来原来的密码,如果能反推回来那这个加密是没有意义的.著名的加 ...

  3. java的md5盐值加密_MD5盐值加密

    import java.security.MessageDigest; import java.util.Random; import org.apache.commons.codec.binary. ...

  4. shiro—MD5盐值加密

    本例为在idea下shiro集成springMVC.仅有一个认证加密方式(一个realm ) 为什么是MD5盐值加密呢?shiro用密码匹配,密码一样,就ok.如果两个用户的密码一样,则就会造成麻烦. ...

  5. Shiro(三) 身份认证源码分析与 MD5 盐值加密

    文章目录 1. 身份认证 2. 身份验证的基本流程 3. 身份验证实现 3.1 在 `login.jsp` 添加登录表单 3.2 添加表单提交的 Controller 3.3 完善 Realm 的身份 ...

  6. 【密码加密】【MD5加密】【盐值加密】

    加密方式 MD5加密 盐值加密 实际开发中的应用 MD5加密 MD5加密方式,可以对文件或者值进行读取加密,并且这个密码是不可逆的,也就是不能被破解 利用第三方类库实现加密 //常用的MD5加密 St ...

  7. Shiro密码加密 盐值加密

    1.为什么要盐值加密 对于同一密码,同一加密算法会产生相同的hash值.这样,当用户进行身份验证时,对用户输入的明文密码应用相同的hash加密算法,得出一个hash值,然后使用该hash值和之前存储好 ...

  8. CAS 密码盐值加密

    说明:MD5加密时query[0],MD5盐值加密时encode[0],MD5加密时fieldPassword,MD5盐值加密时passwordFieldName 1.MD5加密 配置加密策略,直接在 ...

  9. C#实现带盐值加密,适配JAVA Shiro加密

    C#实现带盐值加密,适配JAVA Shiro加密 前言 核心代码 Java代码 C#代码 注意 前言 工业领域上位机软件与管理系统通常使用不同编程语言实现,比如我们的上位机软件通常使用C#,而MES. ...

最新文章

  1. 保护模式下GDTR,LDTR,全局描述符表,局部描述符表和选择器的关系
  2. centos配置oracle自启,centos 下配置oracle11gR2开机自启
  3. Spring远程调用技术1-RMI
  4. hdmi接口有什么用_你的电脑为什么没有HDMI接口?
  5. python中的return和print的区别_python中return和print的区别(详细)
  6. IDEA 设置护眼色RGB值
  7. 明晚8点直播丨经典知识库:深入解析Oracle检查点
  8. Airflow 中文文档:实验性 Rest API
  9. 监控视频压缩存储—视频实时压缩服务器
  10. ffmpeg mov 转 mp4
  11. 解密excel工作表保护
  12. oracle 00936 pivot,oracle 11g 使用 pivot/unpivot 行列转换
  13. 算法很没:快速渡河问题
  14. Ubuntu中使用RoboMongo实现MongoDB的可视化
  15. 角膜炎是由什么引起的?
  16. 路由器wifi密码设置
  17. 源码逻辑-官方SDK的做法
  18. 获取当前客户端ip,并且根据ip获取当前城市和天气
  19. ibm urbancode example
  20. 教你多个文件批量重命名

热门文章

  1. 来自一个敲了5年代码的网络安全工程师的自述(目前薪资20K)
  2. Visual Studio Code vs. Visual Studio:该怎么选?
  3. 【Error】cloudflare 报错526原因
  4. 什么是人工智能数据采集?
  5. 笔记(待续)-动力学逆问题相关基础知识
  6. js输入关键词生成标签代码
  7. TCHAR与char相互转换
  8. Gitblit团队协作
  9. 如何找靠谱的游戏开发外包公司
  10. 机械制图及计算机绘图试题库,101机械制图及计算机绘图1试题库..doc