MD5加密数据

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 == 3f853778a951fd2cdf34dfd16504c5d8
NSString *prefix = [pwd substringFromIndex:2];
NSString *subfix = [pwd substringToIndex:2];
// 乱序后 result == 853778a951fd2cdf34dfd16504c5d83f
NSString *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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值