zoukankan      html  css  js  c++  java
  • 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];
    }

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

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

  • 相关阅读:
    Spring Cloud
    如何修改容器时间而不改变宿主机时间?
    消息中间件 RabbitMQ 入门篇
    CentOS7下NFS服务安装及配置固定端口
    查看ssh有没有被黑的IP
    JVM常用命令和性能调优建议
    nfs高可用
    kafka集群部署以及单机部署
    OSGI企业应用开发(十三)OSGI Web应用开发(二)
    OSGI企业应用开发(十二)OSGI Web应用开发(一)
  • 原文地址:https://www.cnblogs.com/someonelikeyou/p/4365104.html
Copyright © 2011-2022 走看看