异或

作者: 被丢掉的咸鱼 | 来源:发表于2020-05-09 10:45 被阅读0次
      /*
        NSData *keyData = [@"woshikey" dataUsingEncoding:NSUTF8StringEncoding];
        NSData *encodedata = [self xorData:data  withKey:keyData];
      */
    - (NSData *)xorData:(NSData *)sourceData withKey:(NSData *)keyData {
        //取关键字的Byte数组
        Byte *keyBytes = (Byte *)[keyData bytes]; 
        //取需要加密的数据的Byte数组
        Byte *sourcePoint = (Byte *)[sourceData bytes]; 
        for (long i = 0; i < [sourceData length]; i++) {
            // key可以任意长度
            long index = i % [keyData length];
            // NSLog(@"%ld index=%ld",i,index);
            //然后按位进行异或运算
            sourcePoint[i] = sourcePoint[i] ^ keyBytes[index]; 
        }
        return sourceData;
    }
    
    

    相关文章

      网友评论

          本文标题:异或

          本文链接:https://www.haomeiwen.com/subject/oibhnhtx.html