base64加密解密
来源:互联网 发布:ubuntu内核下载地址 编辑:程序博客网 时间:2024/05/10 08:21
iOS中base64加密解密是针对NSData类型的:
加密:
可以将NSData类型加密成NSData类型和NSString类型
解密:
可以将NSData类型和NSString类型密文解密成NSData类型
@interface NSData (NSDataBase64Encoding)/* Create an NSData from a Base-64 encoded NSString using the given options. By default, returns nil when the input is not recognized as valid Base-64.*/- (nullable instancetype)initWithBase64EncodedString:(NSString *)base64String options:(NSDataBase64DecodingOptions)options NS_AVAILABLE(10_9, 7_0);/* Create a Base-64 encoded NSString from the receiver's contents using the given options.*/- (NSString *)base64EncodedStringWithOptions:(NSDataBase64EncodingOptions)options NS_AVAILABLE(10_9, 7_0);/* Create an NSData from a Base-64, UTF-8 encoded NSData. By default, returns nil when the input is not recognized as valid Base-64.*/- (nullable instancetype)initWithBase64EncodedData:(NSData *)base64Data options:(NSDataBase64DecodingOptions)options NS_AVAILABLE(10_9, 7_0);/* Create a Base-64, UTF-8 encoded NSData from the receiver's contents using the given options.*/- (NSData *)base64EncodedDataWithOptions:(NSDataBase64EncodingOptions)options NS_AVAILABLE(10_9, 7_0);@end
例子:
NSString * string = @"abcdefghijklmnopqrstuvwxyz"; NSLog(@"原始字符:%@", string); //先转换成NSData类型再加密 NSData * stringData = [string dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"%@", stringData); //加密成 NSData 类型 NSData * encodeToData = [stringData base64EncodedDataWithOptions:0]; NSLog(@"加密成 NSData 类型:%@", encodeToData); //解密 NSData NSData * decodeData = [[NSData alloc] initWithBase64EncodedData:encodeToData options:0]; NSLog(@"%@", decodeData); //转换成NSString NSString * decodeString = [[NSString alloc] initWithData:decodeData encoding:NSUTF8StringEncoding]; NSLog(@"%@", decodeString); //加密成 NSString 类型 NSString * encodeToString = [stringData base64EncodedStringWithOptions:0]; NSLog(@"加密成 NSString 类型:%@", encodeToString); NSData * decodeToData = [[NSData alloc] initWithBase64EncodedString:encodeToString options:0]; NSLog(@"解密成 NSData 类型:%@", decodeToData);
输出:
2016-04-20 16:34:37.273 base64-encode-decode[16333:6269374] 原始字符:abcdefghijklmnopqrstuvwxyz2016-04-20 16:34:37.273 base64-encode-decode[16333:6269374] <61626364 65666768 696a6b6c 6d6e6f70 71727374 75767778 797a>2016-04-20 16:34:37.274 base64-encode-decode[16333:6269374] 加密成 NSData 类型:<59574a6a 5a47566d 5a326870 616d7473 62573576 63484679 63335231 646e6434 65586f3d>2016-04-20 16:34:37.274 base64-encode-decode[16333:6269374] <61626364 65666768 696a6b6c 6d6e6f70 71727374 75767778 797a>2016-04-20 16:34:37.274 base64-encode-decode[16333:6269374] abcdefghijklmnopqrstuvwxyz2016-04-20 16:34:37.274 base64-encode-decode[16333:6269374] 加密成 NSString 类型:YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo=2016-04-20 16:34:37.274 base64-encode-decode[16333:6269374] 解密成 NSData 类型:<61626364 65666768 696a6b6c 6d6e6f70 71727374 75767778 797a>
这里只是说明基本用法,其它暂不深究
0 0
- base64 加密解密函数
- BASE64加密/解密
- BASE64加密解密
- Base64 加密 解密
- base64加密解密
- Base64加密和解密
- Base64加密、解密
- Base64加密解密
- base64加密解密
- javascript Base64加密解密
- base64的加密解密
- Java BASE64加密解密
- base64 加密解密
- BASE64加密解密(字符串)
- Base64 加密 解密
- base64加密解密
- Base64加密解密
- base64加密 解密
- 319-m-Bulb Switcher
- --force
- ZooKeeper 安装部署及hello world
- mysql游戏服务器配置
- 大中型Web站点解决高并发访问的优化方案
- base64加密解密
- vm虚拟机NAT模式下无法ping通主机&putty连接问题
- 腾讯2016校招技术岗面试经历
- Android 如何加载大图片
- android提高webview兼容以及富文本编辑器RichEditor的使用总结
- 计算机网络笔记
- [汇编学习笔记][第六章包含多个段的程序]
- 投简历,切忌这三大雷区!
- C++里的继承和多态(下)——单继承、多继承、菱形继承(含虚拟函数的继承)