zoukankan      html  css  js  c++  java
  • iOS代码加密常用加密方式

    iOS代码加密常用加密方式,常见的iOS代码加密常用加密方式算法包括MD5加密、AES加密、BASE64加密,三大算法iOS代码加密是如何进行加密的,且看下文
     
    MD5 iOS代码加密
    1
    MD5 iOS代码加密
    创建MD5类,代码如下
    #import <Foundation/Foundation.h>
    @interface CJMD5 : NSObject
    +(NSString *)md5HexDigest:(NSString *)input;
    @end
    2
    #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
    3
    MD5是不可逆的只有加密没有解密,iOS代码加密使用方式如下
    NSString *userName = @"cerastes";
    NSString *password = @"hello Word";
    //   MD5加密
    NSString *md5 = [CJMD5 md5HexDigest:password];
    NSLog(@"%@",md5);
    END
    AES加密iOS代码加密
    1
    AES加密iOS代码加密使用方法
    //  AES加密
        NSString *encryptedData = [AESCrypt encrypt:userName password:password];//加密
        NSString *message = [AESCrypt decrypt:encryptedData password:password]; //解密
        NSLog(@"加密结果 = %@",encryptedData);
        NSLog(@"解密结果 = %@",message);
    END
    BASE64加密iOS代码加密
    1
    BASE64加密iOS代码加密添加如下方法
    .h
    + (NSString*)encodeBase64String:(NSString *)input;
    + (NSString*)decodeBase64String:(NSString *)input;
    + (NSString*)encodeBase64Data:(NSData *)data;
    + (NSString*)decodeBase64Data:(NSData *)data;
    2
    .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;
    }
    3
    BASE64加密iOS代码加密使用方法
    //    BASE64加密
        NSString *baseEncodeString = [GTMBase64 encodeBase64String:password];
        NSString *baseDecodeString = [GTMBase64 decodeBase64String:baseEncodeString];
        NSLog(@"baseEncodeString = %@",baseEncodeString);
        NSLog(@"baseDecodeString = %@",baseDecodeString);
    END
    iOS应用代码加密
    1
    除了以上的三种算法的iOS代码加密之外,iOS应用代码加密也是非常重要的,这里就不贴代码了,主要的iOS代码加密方式如下,iOS应用代码加密是 爱 加 密 平台提供的专业的iOS加密服务。
    iOS代码加密常用加密方式
    2
    1)本地数据加密
    对NSUserDefaults,sqlite存储文件数据加密,保护帐号和关键信息。
    2)URL编码加密
    对程序中出现的URL进行编码加密,防止URL被静态分析
    3)网络传输数据加密
    对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取
    4)方法体,方法名高级混淆
    对应用程序的方法名和方法体进行混淆,保证源码被逆向后无法解析代码
    5)程序结构混排加密
    对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低 
  • 相关阅读:
    SpringMvc 的小dome
    解决Eclipse加载Tomcat报错Could not load the Tomcat server configuration.The configuration may be corrupt or incomplete.
    【转载】理解java三层架构:持久层、业务层、表现层
    Eclipse 报错 org.springframework.context.support.AbstractApplicationContext refresh处理
    Eclipes 报错The ... package is not accessible解决
    Tomcat文件目录及用途
    MyBatis配置文件mybatis-config.xml中的mappers中引入映射文件的几种方式总结
    Mybatis中自动生成主键在mysql和Oracle当中的情况
    mybatis中int类型的判断问题分析
    Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 56; columnNumber: 17
  • 原文地址:https://www.cnblogs.com/liuzhi20101016/p/5463728.html
Copyright © 2011-2022 走看看