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

最近蓝牙开发中,对数据的加密要用AES128加密,但是秘钥定义是uint8数组格式(

static uint8_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++;
        }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值