首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上面Xcode11中不同的IOS加密

上面Xcode11中不同的IOS加密
EN

Stack Overflow用户
提问于 2020-01-14 06:07:29
回答 1查看 59关注 0票数 0

在xcode11之前,下面的ios12和上面的ios13的加密都是相同的。

但是在升级到xcode11之后,下面的ios12中的加密仍然是一样的。但是在上面的Ios13中,我得到的加密字符串包括“长度”和“字节”。

下面的IOS12

a7eec1e7b1514058683ebae8e1d86b6b37d4b0e8f6316cbfcd2b42c5ec5952e450c8b0b68e26cbb560fcbc158261c3d7365125b9ec0fb4f7b484beeaf12827ba04c7e8e86b735e04427e0f3957fda8c0ca3133c1d8f4218a415b8740422b41a60bf54e3f8c32d0d3fba4a9de1d59fc4603c97baa6387f1f0b9b27b1e0722350f04b763f002d38afe99553b1511e8c12db3aae59f30a02b44529d3c4866b9449cdb40b60a7b19dbf5e4e47da39c1c3995470c463cf82dfdb1247f7d524076292248f31b43d49c31ec4f76233763190e2c

IOS13以上。

bytes=0xa7eec1e7b1514058683ebae8e1d86b6b...fac0266ed36ff1ef}

{length=208

我想要的是只获取IOS13中的字节。对不起我的英语不好。谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-14 10:04:56

首先,你的问题不是问问题的更准确的方法,但我们还是试着解决这个问题吧:

我猜你是从一些数据中获得加密的,比如:

代码语言:javascript
复制
NSString *encryptionString = [NSString stringWithFormat:@"%@",encryptionData];

在过去的iOS版本中,它通常只返回字符串ok,但从iOS13开始,您将得到数据的描述,如下所示:

代码语言:javascript
复制
$1 = 0x0000000283373150 @"{length = 32, bytes = 0xf394ff84 a55f406d 165ab4fd d17eca51 ... 5c4cfdd1 06856852 }"

现在您需要转换数据,将数据发送到方法,如下所示:

代码语言:javascript
复制
NSString * encryptionString = [self stringFromData: encryptionData];

要调用的方法是:

代码语言:javascript
复制
- (NSString *) stringFromData:(NSData *)myData {
    NSUInteger length = myData.length;
    if (length == 0) {
        return nil;
    }
    const unsigned char *buffer = myData.bytes;
    NSMutableString *hexString  = [NSMutableString stringWithCapacity:(length * 2)];
    for (int i = 0; i < length; ++i) {
        [hexString appendFormat:@"%02x", buffer[i]];
    }
    return [hexString copy];
}

此方法将返回所需的NSString。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59728318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档