首页 / IOS / iOS 加密 : MD5
iOS 加密 : MD5
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS 加密 : MD5,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1552字,纯文字阅读大概需要3分钟。
内容图文
MD5:首先,md5不是加密。
md5是摘要算法,主要是用来做认证,利用自身优势(不可逆、低碰撞率)解决公开网络中交换密钥、认证的问题,
MD5相当于超损压缩,在计算过程中原文的部分信息会丢失。
MD5为什么不可逆?例子:
快点赞啊亲
加密规则:
每个字取拼音声调+笔画数,最后的结果计算乘积,为了也使得我的结果始终保持在一个限定范围内,取最后结果取其与2^14=16384的余数(随便取的,你们就当我有二进制强迫症吧)
如 快 是7画,4声,也就是“特征值11”,以此类推 点9+3=12 赞16+4=20 啊10+4=14 亲9+1=10
最后我发明的不可逆函数值就是
11*12*20*14*10=26400与16384的余数,也就是10016
如果单单给10016这个数字和加密算法,你是无论如何不可能推倒出原文是“快点赞啊亲”的,不过如果给你“快点赞啊亲”你却很容易验证答案是否正确。
签名有什么用?例子:
Encryption是为了保护明文的隐私性(privacy),防止隐私泄漏。设想一对小青年Alice和Bob还在暧昧中,俩人偷偷摸摸地去约会吃饭,不想让别人知道。Alice想告诉Bob今天约会时几点去吃饭,但是不想让其他任何人(可以抽象为以她的情敌Carol为代表的一切其他人)知道他俩的吃饭时间,这时候就用到加密。加密后解密者可以从密文(ciphertext)中恢复出明文(plaintext),也就是吃饭时间。
苹果包装了MD5加密的方法,使用起来十分的方便。
1、 导入头文件
- #import<CommonCrypto/CommonDigest.h>
2、加密的方法:
- (NSString *) md5:(NSString *) input {
const char *cStr = [input UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call
NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
NSString *str = @"123456";
NSString *result = [self md5:str];
NSLog(@"%@",result);
输出的结果如图所示:
原文:http://www.cnblogs.com/OC888/p/5858867.html
内容总结
以上是互联网集市为您收集整理的iOS 加密 : MD5全部内容,希望文章能够帮你解决iOS 加密 : MD5所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。