AES128 加密/解密问题

问题描述

在 xcode 版本 11.3 到 11.7 和 12.3 之间为相同的键和向量获取不同的字节代码。请帮助我我做错了什么。

Key:NT#OALfxhpStJNY#rpEAJz1kh3psgxw#wqF7cJy7BBgvJZfmlIm1awBVRioMjA1x
vector:6Pb8UooYS8qM!Hdbl3aVYgPufnAKgmaT
- (NSData *)hex:(Nsstring *)data
{
    if (data.length == 0) { return nil; }
    
    static const unsigned char HexDecodeChars[] = 
    {
        0,1,//49
        2,3,4,5,6,7,8,9,//59
        0,10,11,12,13,14,15,//79
        0,//99
        13,15
    };
    
    // convert data(Nsstring) to CString
    const char *source = [data cStringUsingEncoding:NSUTF8StringEncoding];
    // malloc buffer
    unsigned char *buffer;
    NSUInteger length = strlen(source) / 2;
    buffer = malloc(length);
    for (NSUInteger index = 0; index < length; index++) {
        buffer[index] = (HexDecodeChars[source[index * 2]] << 4) + (HexDecodeChars[source[index * 2 + 1]]);
    }
    // init result NSData
    NSData *result = [NSData dataWithBytes:buffer length:length];
    free(buffer);
    source = nil;
    return  result;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)