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算法进行加盐处理以确保每次发送的密码不相同,同时解释了MD5加密的原理和特点。文中还提供了具体的代码实现,展示了如何在发送给服务器的密码中加入时间戳作为加盐部分。
4233

被折叠的 条评论
为什么被折叠?



