iOS-应用安全01RSA算法

208 阅读1分钟

RSA算法:非对称加密

RSA特点:

  • 相对来说比较安全(非对称加密。私钥不用传递)
  • 效率不高
  • 加密数据小

一般用于加密核心数据,配合其他加密算法使用;

base64

base64:可以将任意的二进制数据进行编码,编码成为65个字符(0~9 a~z A~Z + / =)组成的文本文件。其本身就是一种编码:为的是让文件以二进制表现出来; 终端使用:

编码:$:base64 源文件 -o 目标文件  
解码:$:base64 源文件 -o -D 目标文件

iOS中的使用

//给一个字符 编码
-(NSString *)base64Endcode:(NSString *)str{
    //先转成二进制文件
    NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
    return [data base64EncodedStringWithOptions:0];
}

//给一个编码我对其进行解密
-(NSString *)base64Decode:(NSString *)str{
    //先将base64得到的字符串转化成解码后的二进制文件
    NSData * data = [[NSData alloc] initWithBase64EncodedString:str options:0];
    //在将解码后的二进制文件转化成字符串
    return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}

//使用
- (void)testBase64{
    NSLog(@"编码%@",[self base64Endcode:@"A"]);
    NSLog(@"解码%@",[self base64Decode:@"QQ=="]);
}