iOS异或加密算法

废话不多说,直接上代码

/**
 *  异或加密算法
 *
 *  @param sourceData 需要加密的字节流
 *  @param key        加密的key
 *
 *  @return 加密后的字节流
 */
- (NSData *)encodeData:(NSData *)sourceData withKey:(NSString *)key {
    NSData *keyData = [key dataUsingEncoding:NSUTF8StringEncoding];
    Byte *keyBytes = (Byte *)[keyData bytes];   //取关键字的Byte数组, keyBytes一直指向头部

    Byte *sourceDataPoint = (Byte *)[sourceData bytes];  //取需要加密的数据的Byte数组
    
    for (long i = 0; i < [sourceData length]; i++) {
        sourceDataPoint[i] = sourceDataPoint[i] ^ keyBytes[(i % [keyData length])]; //然后按位进行异或运算
    }
    
    return sourceData;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,928评论 25 709
  • 第二天---------- 阳光从窗外照进暮晴汐的房间,她坐在床上,柔顺的长发披在背后,睁开惺忪的睡眼,雪白的长腿...
    纯色恋阅读 230评论 1 1
  • 曾把张爱玲的那句“越是没人爱,越要爱自己”写在日记的封面,缅怀自己没有回报的暗恋。 也许,那时候还太年轻,从来...
    蓝玉冷阅读 268评论 3 5
  • . 撑一船日光 也无云遮也无风 离岸的舟,自在地摇 直至水天无界 . 船首,一舱烟火味道 舷尾清流暗涌 远远的一声...
    岗上愚人阅读 325评论 0 2