国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ocios中文字符串進(jìn)行sha1加密錯誤?

2019-11-14 17:54:13
字體:
供稿:網(wǎng)友

我在網(wǎng)上找到了一個oc版加密的工具類,但是加密中文就出現(xiàn)大問題

    const char *cstr = [self cStringUsingEncoding:encoding];

    NSData *data = [NSData dataWithBytes:cstr length:self.length];

    uint8_t digest[CC_SHA1_DIGEST_LENGTH]; 

    CC_SHA1(data.bytes, data.length, digest);  

    NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];   

    for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {

        [result appendFormat:@"%02x", digest[i]];

    }

    return result.uppercaseString;

用上面的方法中文字符串轉(zhuǎn)data時會造成數(shù)據(jù)丟失,

const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncoding];  

NSData *data = [NSData dataWithBytes:cstr length:input.length]; 

這兩句改成

NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding];

就可以了

 

ps,這是因?yàn)槲覀冇龅阶址绒D(zhuǎn)成utf-8了,而后臺遇到?jīng)]轉(zhuǎn)utf8,而是直接sha1加密。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 新野县| 勐海县| 库尔勒市| 东乡| 共和县| 岳西县| 德保县| 门源| 东安县| 济阳县| 观塘区| 新闻| 远安县| 二连浩特市| 宜昌市| 岑溪市| 城步| 贵州省| 乌兰察布市| 句容市| 修水县| 乐安县| 新干县| 英超| 吴川市| 莱州市| 北川| 紫金县| 惠安县| 塔河县| 兰州市| 清新县| 竹北市| 泰来县| 祥云县| 阜新| 澎湖县| 沐川县| 景洪市| 东兴市| 乐至县|