加密方法

加密
1 base64加密  可逆的   //传送的时候,也需要base64,这个时候,需要后台的支持
 //密码经过base64加密之后,再保存  base64Encode
加密
- (NSString *)base64Encode:(NSString *)originalStr{//zhang
    //1.需要将我们原始的字符串转成base64的二进制
    NSData *base64Data = [originalStr dataUsingEncoding:NSUTF8StringEncoding];
    
    //2.再将我们上面的base64的二进制转成base64的字符串
    NSString *base64Str = [base64Data base64EncodedStringWithOptions:0];
    
    return base64Str;
}
解密
- (NSString *)base64Decode:(NSString *)base64Str{
    //1.第一步,将base64Str解码成base64的二进制
    if (base64Str==nil) return @"";
    
    NSData *base64Data = [[NSData alloc] initWithBase64EncodedString:base64Str options:0];
    
    //2.需要将上面的base64的二进制转成最原始的字符串
    NSString *originalStr = [[NSString alloc] initWithData:base64Data encoding:NSUTF8StringEncoding];
    
    return originalStr;
}

2 md5加密   Security
折腾MD5必须和后台商量
 //originalStr  = [originalStr stringByAppendingString:@"ABC!@#DZH"];//123456ABC!@#DZH
    //originalStr = originalStr.md5String.md5String.md5String;
 这个盐一定要和后台商量好

* 方案二 MD5 + 盐
pwd = [pwd stringByAppendingString:salt].md5String;
盐值要够咸,可以从服务器获取

* 安全方案三 - 多次MD5
NSString *anwen = [str md5String];

anwen = [anwen md5String];
MD5的次数越多,安全级别越高
* 安全方案四 - 先MD5,后有规律的乱序
/**
 *  先加密, 后乱序
 */
- (NSString *)digest4:(NSString *)str
{
    NSString *anwen = [str md5String];

    // 注册:  123 ----  2CB962AC59075B964B07152D234B7020

    // 登录: 123 --- 202CB962AC59075B964B07152D234B70

    NSString *header = [anwen substringToIndex:2];
    NSString *footer = [anwen substringFromIndex:2];

    anwen = [footer stringByAppendingString:header];


    NSLog(@"%@ - %@", str, anwen);

    return anwen;
}
一般先MD5,再有规律的乱序,基本就解不出来了,但是千万要记住规律,别搞得自己都忘记了
MD5的另一个用法 : 云盘 上传多个相同文件


3 钥匙串  AES256算法
本地密码保存
SSKeychain 封装好的
ios7.0.3以后公开的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值