MD5 iOS代码加密

创建MD5类,代码如下

#import <Foundation/Foundation.h>

@interface CJMD5 : NSObject

+(NSString *)md5HexDigest:(NSString *)input;

@end

#import "CJMD5.h"

#import <CommonCrypto/CommonDigest.h>

@implementation CJMD5

+(NSString *)md5HexDigest:(NSString *)input{

const char* str = [input UTF8String];

unsigned char result[CC_MD5_DIGEST_LENGTH];

CC_MD5(str, strlen(str), result);

NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];

for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {

[ret appendFormat:@"%02X",result];

}

return ret;

}

@end

MD5是不可逆的只有加密没有解密,iOS代码加密使用方式如下

NSString *userName = @"cerastes";

NSString *password = @"hello Word";

//   MD5加密

NSString *md5 = [CJMD5 md5HexDigest:password];

NSLog(@"%@",md5);

AES加密iOS代码加密使用方法

//  AES加密

NSString *encryptedData = [AESCrypt encrypt:userName password:password];//加密

NSString *message = [AESCrypt decrypt:encryptedData password:password]; //解密

NSLog(@"加密结果 = %@",encryptedData);

NSLog(@"解密结果 = %@",message);

BASE64加密iOS代码加密添加如下方法

.h

+ (NSString*)encodeBase64String:(NSString *)input;

+ (NSString*)decodeBase64String:(NSString *)input;

+ (NSString*)encodeBase64Data:(NSData *)data;

+ (NSString*)decodeBase64Data:(NSData *)data;

.m

+ (NSString*)encodeBase64String:(NSString * )input {

NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

data = [GTMBase64 encodeData:data];

NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

return base64String;

}

+ (NSString*)decodeBase64String:(NSString * )input {

NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

data = [GTMBase64 decodeData:data];

NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

return base64String;

}

+ (NSString*)encodeBase64Data:(NSData *)data {

data = [GTMBase64 encodeData:data];

NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

return base64String;

}

+ (NSString*)decodeBase64Data:(NSData *)data {

data = [GTMBase64 decodeData:data];

NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

return base64String;

}

BASE64加密iOS代码加密使用方法

//    BASE64加密

NSString *baseEncodeString = [GTMBase64 encodeBase64String:password];

NSString *baseDecodeString = [GTMBase64 decodeBase64String:baseEncodeString];

NSLog(@"baseEncodeString = %@",baseEncodeString);

NSLog(@"baseDecodeString = %@",baseDecodeString);

除了以上的三种算法的iOS代码加密之外,iOS应用代码加密也是非常重要的,这里就不贴代码了,主要的iOS代码加密方式如下,

1)本地数据加密

对NSUserDefaults,sqlite存储文件数据加密,保护帐号和关键信息。

2)URL编码加密

对程序中出现的URL进行编码加密,防止URL被静态分析

3)网络传输数据加密

对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取

4)方法体,方法名高级混淆

对应用程序的方法名和方法体进行混淆,保证源码被逆向后无法解析代码

5)程序结构混排加密

对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低

最新文章

  1. Maven学习笔记
  2. Python 修改电脑DNS
  3. java获取注册ip
  4. java static静态方法的并发性
  5. C#List的排序和简单去重总结
  6. 快速与MySQL交互,使用XMAPP打开MySQL数据库,并用shell进行与MySQL交互&lt;Window 10&gt;
  7. Creating Icon Overlay Handlers / 创建图标标记 Handlers (翻译自MSDN) / VC++, Windows, DLL, ATL, COM
  8. struct 理解 (需要经常理解)
  9. 获取或设置checkbox radio select的值
  10. JSP include HTML出现乱码
  11. js 中对象属性特性的描述
  12. javascript中with语句应用
  13. linux sendEmail工具的安装使用
  14. Android studio 断点技巧
  15. python笔记九(迭代)
  16. GIT初始学习记录
  17. eclipse中的javaEE插件
  18. LINUX服务器搭建和常用配置介绍
  19. Intellij IDEA中maven更新不下来pom中的jar包,reimport失效
  20. 基于tcp的下载文件,以及struct模块的应用。

热门文章

  1. Teleportation(tel)
  2. Codeforces Round #316 (Div. 2) C 思路/模拟
  3. 【12】vue-router 之路由重定向
  4. 洛谷 [P2051] 中国象棋
  5. zoj 3471 Most Powerful (有向图)最大生成树 状压dp
  6. linux库文件的制作
  7. Day 29 process&amp;thread_1
  8. interview ms1 robert move **
  9. Android 读取手机联系人、拨号、发送短信及长按菜单的操作
  10. HDU 4343 Interval query(贪心 + 倍增)