美文网首页加密
iOS sha256 加密[包括中文]

iOS sha256 加密[包括中文]

作者: SKCongroo | 来源:发表于2018-01-04 11:25 被阅读1043次

    SHA256

    • 谷歌搜到的第一条 SHA256 加密的简书文章,提供的 SHA256 加密是不完善的,在对中文加密时会直接崩溃,我遇到了该问题并完善了一下。
    • 可以对中文进行加密。(出现问题,发现下面这个函数并不能对中文正常加密,加密后的信息是错误的!!)
    • Stack Overflow 原文链接

    代码 (对中文没用)

    #import "NSString+Expand.h"
    #import <CommonCrypto/CommonHMAC.h>
    
    @implementation NSString (Expand)
    
    - (NSString *)SHA256 {
        
        NSData *dataIn = [self dataUsingEncoding:NSASCIIStringEncoding];
        NSMutableData *macOut = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH];
        CC_SHA256(dataIn.bytes, (CC_LONG)dataIn.length,  macOut.mutableBytes);
        NSString *hash = [macOut description];
        hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];
        hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];
        hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];
        return hash;
    }
    
    @end
    

    2018/1/25:

    上面的加密还是不对,对中文加密还是会出问题,和服务器对接不起来,后来服务器的哥们给了我一个封装好的加密库,可以正常对中文进行加密。
    链接: https://pan.baidu.com/s/1mXpsdrmOBSmqzKaQtWVFag 密码: yang

    找到一个完美解决方案:

    GitHub 上的支持 Swift 各类加密的开源库,更新迅速,解决所有加密问题(点这)。
    暂未发现 OC 的库,有知道的可以告诉我一下。

    相关文章

      网友评论

        本文标题:iOS sha256 加密[包括中文]

        本文链接:https://www.haomeiwen.com/subject/ynxrnxtx.html