iOS base64编码 MD5 加密

复制代码

//创建一个Base64编码的NSString对象
//字符串 转二进制 NSData *nsdata = [@"iOS Developer Tips encoded in Base64" dataUsingEncoding:NSUTF8StringEncoding]; //二进制64位加密 得到的字符串 NSString *base64Encoded = [nsdata base64EncodedStringWithOptions:0]; NSLog(@"Encoded: %@", base64Encoded); //64位加密的字符串 转换成二进制 NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:base64Encoded options:0]; //Decoded 64位 二进制 解码 NSString *base64Decoded = [[NSString alloc] initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding]; NSLog(@"Decoded: %@", base64Decoded);
复制代码
复制代码
//使用Base64编码一个NSData对象
    // Create NSData object
    NSData *dataTake2 = [@"iOS Developer Tips" dataUsingEncoding:NSUTF8StringEncoding];
    // Convert to Base64 data
    NSData *base64Data = [dataTake2 base64EncodedDataWithOptions:0];
    NSLog(@"%@", [NSString stringWithUTF8String:[base64Data bytes]]);
    
    // Now convert back from Base64
    NSData *nsdataDecoded = [[NSData alloc] initWithBase64EncodedData:base64Data options:0];
    NSString *str = [[NSString alloc] initWithData:nsdataDecoded encoding:NSUTF8StringEncoding];
    NSLog(@"%@", str);
复制代码

使用情景: 加密 为数据交互的安全,比如向服务器上传数据时候  要求用64位编码 或者账号密码之类的要求 编码 甚至MD5加密

有的 请求网络url也会有相应的编码 加密要求 还有常用的中文网址路径转换URLEncode  的类方法

复制代码
@interface NSObject (URLEncoding)

/**
 * Returns a representation of the object as a URLEncoded string
 *
 * @returns A UTF-8 encoded string representation of the object
 */
- (NSString *)URLEncodedString;

@end
#import "NSObject+URLEncoding.h"

@implementation NSObject (URLEncoding)

- (NSString *)URLEncodedString
{
    NSString *string = [NSString stringWithFormat:@"%@", self];
    NSString *encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                                                                 (CFStringRef)string,
                                                                                 NULL,
                                                                                 (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                                                 kCFStringEncodingUTF8);
    return [encodedString autorelease];
}
复制代码

上面这个方法 也可以自己写成类方法调用   有的第三方框架中也会带   

该方法防止中文网址转义时候出现乱码多余的%等字符比较好用

posted on   ACM_Someone like you  阅读(546)  评论(0编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示