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=="]);
}