iOS明文加密方式——MD5和动态密码加密

本文详细介绍了动态密码加密的过程,包括使用MD5算法进行加盐处理以确保每次发送的密码不相同,同时解释了MD5加密的原理和特点。文中还提供了具体的代码实现,展示了如何在发送给服务器的密码中加入时间戳作为加盐部分。

MD5加密是通过一种运算生成一个固定的字符串,算法公开但是不可逆。任意两个不同的文件生成的文佳结果不同,但是生成的字符串长度是相同的。

此外,为避免加密过的字符串被破解我们有时候需要对发送的字符串进行加盐处理即在原有字符串的基础上再拼接一串字符串,然后在进行md5加密处理。

动态密码加密的原理类似上面提到的加盐处理,即每次在发送给服务器的时候在原有明文的基础上加上时间戳或者其他字符串以达到相同的明文每次发送的出去的字符串却都不相同的目的具体代码如下:

//   取出当前时间

    NSDate *date = [NSDate date];

    

    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];


    [formatter  setDateFormat:@"yyyy-MM-dd HH:mm"];

    

    NSString *timer = [formatter stringFromDate:date];

    

    

    NSLog(@"timer = %@",timer);

    

//    第一次加密的密码拼接时间

    password = [password stringByAppendingString:timer];


最后对拼接完的密码进行md5加密,或者其他加密方式,加密完成后再发送给服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值