IOS开发中,蓝牙开发中数据,字符串转化成uint8数组

来源:互联网 发布:淘宝注册页面html模板 编辑:程序博客网 时间:2024/06/05 14:55
最近蓝牙开发中,对数据的加密要用AES128加密,但是秘钥定义是uint8数组格式(

staticuint8_t aeskey[] = {59,44,87,90,0,23,97,79,22,98,94,13,8,63,42,44};) ,

从后台返回的秘钥是字符串类型的:

NSString *secrety =@"36,87,48,82,54,75,26,71,48,80,65,88,12,99,45,23";

需要进行转换,网上找了好久才找到一个解决方法;

1.定义一个uint8_t aeskey[16 数组]; 

2.字符串转成数组,对每一个元素进行转换

SString *secrety = @"59,32,65,76,59,32,65,76,59,32,65,76,59,32,65";
        NSArray *secArr = [secrety componentsSeparatedByString:@","];
        NSString *str = secrety;
        UInt8 buff_str[1024];
        memcpy(buff_str,[str UTF8String], [str length]+1);
        NSLog(@"char = %s",buff_str);
        int count = 0;
        for (NSString *mysec in secArr) {
            uint8_t b = (uint8_t)(0xff&[mysec intValue]);
            aeskey[count] = b;
            count++;
        }