您的位置:首页 > 移动开发 > IOS开发

ios项目小结---base64加密解密

2014-06-04 22:18 459 查看
小编在这里还想再多说两句,ios7 已经给我们提供了很多便利,有时候它自带一些方法也很好用,不一定非要引入第三方类库

进入正题,使用ios自己的

        NSString *encryptStr=[pwd
base64Encoding];
可以简单进行加密
但是解密有点儿小麻烦呀
有人会说简单下面这句话不行吗?

NSData *data=[[NSData
alloc] initWithBase64EncodedString:updateStr
options:0];
  真心不行,亲。如果你是这样成功了,那只能说您真的很幸运,但是不幸的孩子估计就惨鸟!!!!!!!!
为什么呢?其实你仔细观察base64的加密后的数据就可以看出,只有所有数据的长度是4的整数倍的时候,才能正确解密,
如果你要解密的密文不是4的倍数,不妨在数据末尾加上英文下的=试一试,(小编郑重提示:是英文输入下的哟)
事例代码:

NSString *updateStr=@"";
//result是你要解密的密文
            NSInteger strlen=result.length;
            if (strlen%4==3) {
                updateStr=[NSString
stringWithFormat:@"%@=",result];
            }
            if (strlen%4==2) {
                updateStr=[NSString
stringWithFormat:@"%@==",result];
            }
            if (strlen%4==1) {
                updateStr=[NSString
stringWithFormat:@"%@===",result];
            }
            if (strlen%4==0) {
                updateStr=result;
            }
            
            
            NSData *data=[[NSData
alloc] initWithBase64EncodedString:updateStr
options:0];
这样就行了,小编和小伙伴纠结了半天才想出来的,希望对你有用!!!!~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  加密 base64 解密 ios7