博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS加密解密算法
阅读量:6599 次
发布时间:2019-06-24

本文共 1614 字,大约阅读时间需要 5 分钟。

最近项目中对接微软小冰的业务,大厂都对内部的资源有相当的保密措施,对给到第三方的数据都是加密的,下面是应用到的相关的加密解密函数:异或加密解密及base64的加密解密

异或加密算法

static NSString *secretKey =@"XiaoBing_Qitianzhen";/** *  异或加密算法 * *  @param sourceData 需要加密的字节流 *  @param key        加密的key * *  @return 加密后的字节流 */- (NSString *)encryptForPlainText:(NSString *)plainText{    //保存加密后的字符    NSMutableString *encryption=[NSMutableString string];    //编码转换后的字符串 UTF_8->iso-8859-1    NSString *encoding=[[NSString alloc]initWithData:[plainText dataUsingEncoding:NSUTF8StringEncoding] encoding:NSISOLatin1StringEncoding];        for(int i=0,j=0;i

异或解密

- (NSString *)decryptForEncryption:(NSString *)encryption {    //保存解密后的字符    NSMutableString *decryption=[NSMutableString string];    //解码字符    NSString *decoding=nil;        for(int i=0,j=0;i
UTF_8 decoding=[[NSString alloc]initWithData:[[decryption copy] dataUsingEncoding:NSISOLatin1StringEncoding] encoding:NSUTF8StringEncoding]; } if (decoding==nil) { decoding=encryption; } return decoding;}复制代码

base64的加密解密

//把字符串转成Base64编码- (NSString *)base64EncodeString:(NSString *)string{    NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];        return [data base64EncodedStringWithOptions:0];}//字符串解码- (NSString *)stringEncodeBase64:(NSString *)encodeStr{    NSData *nsdataFromBase64String = [[NSData alloc] initWithBase64EncodedString:encodeStr options:0];        NSString *base64Decoded = [[NSString alloc]initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding];    return base64Decoded;}复制代码

此文只为记录笔记,以后查阅方便!有哪些写的不对的地方,欢迎指正!!!

转载于:https://juejin.im/post/5a503a5e6fb9a01cb74e2fd9

你可能感兴趣的文章
发布《iBoard 电子学堂》DEMO代码
查看>>
SecureCRTPortable.exe 如何上传文件
查看>>
什么是SysWow64
查看>>
C++中public、protected及private用法
查看>>
苹果公司的产品已用完后门与微软垄断,要检查起来,打架!
查看>>
chrome调试ajax
查看>>
centos 升级php、mysql(webtatic)
查看>>
Java并发编程:Lock
查看>>
oracle服务器和客户端字符集的查看和修改
查看>>
顶级的JavaScript框架、库、工具及其使用
查看>>
AYUI -AYUI风格的 超美 百度网盘8.0
查看>>
linux下php中文UTF-8转换Unicode方法和注意事项
查看>>
TensorFlow:tf.contrib.layers.xavier_initializer
查看>>
简明 Python 教程
查看>>
Photoshop操作指南
查看>>
用MPMoviePlayerController做在线音乐播放
查看>>
ASP.NET调用cmd命令提示符拒绝访问解决方案
查看>>
Leetcode: Construct Binary Tree from Preorder and Inorder Transversal
查看>>
嵌入式开发之字符叠加---gb2313 国标码,utf8 国际码,unicode 无码
查看>>
Java查找算法——二分查找
查看>>