MD5加密数据

来源:互联网 发布:python做网站 编辑:程序博客网 时间:2024/06/05 06:08

1.MD5: 全称Message Digest Algorithm 5(消息摘要算法第5版)
效果:对输入信息生成唯一的128位散列字符(32个字节)
输入两个不同的明文不会得到相同的输出值,根据输出值不会得到原始的明文,过程不可逆(但是有一些强大的解密 网站可根据暴力测试得出原文,比如网站http://www.cmd5.com);
由于它的加密算法具有良好的安全性,而且免费,所以被广泛使用,一般用于数字签名,文件完整性验证及口令加密等;
2.Charles:是一款代理服务器软件,用来拦截网络请求,利用它可以拦截大部分公司的数据来源和数据格式;
3.隐私数据:
一定要使用post请求提交用户的隐私数据,get请求的所有参数都暴露在url中。
请求的url一般会记录在服务器的访问日志中,服务器的访问日志一般是黑客攻击的主要对象;

1)MD5加密
- (NSString )MD5:(NSString )text{
return [salt md5String];
}
2)MD5先撒盐后加密
- (NSString )MD5Salt:(NSString )text{
// 撒盐:随机地往明文中插入任意字符串
NSString *salt = [text stringByAppendingString:@”aaa”];
return [salt md5String];
}
3)双重MD5加密
- (NSString )doubleMD5:(NSString )text{
return [[text md5String] md5String];
}

3)先加密,后乱序
- (NSString )MD5Reorder:(NSString )text{
NSString *pwd = [text md5String];

// 加密后pwd == 3f853778a951fd2cdf34dfd16504c5d8NSString *prefix = [pwd substringFromIndex:2];NSString *subfix = [pwd substringToIndex:2];// 乱序后 result == 853778a951fd2cdf34dfd16504c5d83fNSString *result = [prefix stringByAppendingString:subfix];NSLog(@"\ntext=%@\npwd=%@\nresult=%@", text, pwd, result);return result;

}

//MD5加密算法封装
- (NSString *)md5String{
const char *string = self.UTF8String;
int length = (int)strlen(string);
unsigned char bytes[CC_MD5_DIGEST_LENGTH];
CC_MD5(string, length, bytes);
return [self stringFromBytes:bytes length:CC_MD5_DIGEST_LENGTH];
}

0 0
原创粉丝点击