MD5加密运算
//MD5 对字符串的加密
-(void)demo1 {
NSString *str = @"love"; //对字符串进行MD5加密
str = str.md5String; NSLog(@"str : %@",str); //对于比较简单的密码,可以通过一些网站查到,如:http://www.cmd5.com
//人为的增加密码的难度,可以对 MD5 进行加盐
//用户密码 + 盐值 MD5运算
NSString *password = @"";
//增加盐值 ,且越长(复杂)越好
NSString *salt = @"zhufengshib!@#$%^&*sdfgh";
//给密码添加盐值
password = [password stringByAppendingString:salt];
//进行 MD5运算
password = password.md5String; //加盐,是一种比较高级的加密算法
NSLog(@"password : %@",password);
} //hmac 加密运算
-(void)demo2 {
//利用 block 定义一个字符串
__block NSString *password = @"hello"; //创建网络请求,并发送
NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/login/hmackey.php"]; //发送网络请求
[[[NSURLSession sharedSession] dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
//把 JSON数据 转换成 OC 数据
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options: error:NULL];
//定义 hmacKey
NSString *hmacKey = dict[@"hmacKey"];
NSLog(@"hmacKey : %@",hmacKey); //使用从服务器获取的 hmacKey 对密码进行 hmac 运算
password = [password hmacMD5StringWithKey:hmacKey]; NSLog(@"password : %@",password); }] resume];
}
MD5加密运算的更多相关文章
- 字符串MD5加密运算
public static string GetMd5String(string str) { MD5 md5 = MD5.Create(); by ...
- java中使用MD5加密技术
在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...
- (转)C#实现MD5加密
首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和r ...
- 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托
MD5加密 将字符串进行加密,无法解密.网上的解密方式也都是在库里找,找不到也没有. 1 protected void Page_Load(object sender, EventArgs e) 2 ...
- C#实现MD5加密
摘自:http://blog.csdn.net/shenghui188/archive/2010/03/28/5423959.aspx 方法一 首先,先简单介绍一下MD5 MD5的全称是message ...
- iOS MD5加密
1.MD5加密 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321 ...
- [android] 手机卫士保存密码时进行md5加密
一般的手机没有root权限,进不去data/data目录,当手机刷机了后,拥有root权限,就可以进入data/data目录,查看我们保存的密码文件,因此我们需要对存入的密码进行MD5加密 获取Mes ...
- asp.net实现md5加密方法详解
MD5加密简单的说就是把一段明文 通过某种运算方式 求出密文. 例如:明文为:abcdefg 通过一些列运算 得到 密文 7ac66c0f148de9519b8bd264312c4d64 它具有两个特 ...
- MD5加密 Java源代码
package lwp; /** * * @author 梁WP */ public class MD5_Encoding { // RFC1321中定义的标准4*4矩阵的常量定义. static f ...
随机推荐
- 希尔排序(Shell's Sort)的C语言实现
原创文章,转载请注明来自钢铁侠Mac博客http://www.cnblogs.com/gangtiexia 希尔排序(Shell's Sort)又称“缩小增量排序”(Diminishing Incre ...
- MySQL笔记--查询语句实践
有一个用户表,属性为 id,age,buytime 创建表以及插入数据的语句 CREATE TABLE USER( id INT, age INT, buytime INT ) ,,); ,,); , ...
- 调试器带参数调试(OD,EDB)
小东西,不要在意这些细节-- OD带参数比较简单: 文件-- 打开 -- 在最下面有一个参数 KALI LINUX下的EDB 命令格式为 edb –run "对应程序路径" ...
- Hadoop 学习笔记(一) HDFS API
http://www.cnblogs.com/liuling/p/2013-6-17-01.html 这个也不错http://www.teamwiki.cn/hadoop/thrift thrift编 ...
- android中几种常见的尺寸
获取屏幕宽高尺寸的三种代码形式 在Android上,目前我知道的获取屏幕尺寸的方法有三种不同的代码形式 方法1.在Activity中最常见的调用方式 WindowManager windowManag ...
- Radar Installation 贪心
Language: Default Radar Installation Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42 ...
- 【动态规划】XMU 1583 Sequence
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1583 题目大意: T组数据,对于n(n<=6000)给定序列Xn(Xn<= ...
- HDOJ 1014 Uniform Generator(公约数问题)
Problem Description Computer simulations often require random numbers. One way to generate pseudo-ra ...
- 【用PS3手柄在安卓设备上玩游戏系列】谈安卓游戏对手柄的支持
不同的游戏对于手柄的支持程度是不一样的,对应所需要进行的手柄设置也不尽相同.我没有这样的时间和精力,针对每一款游戏去写博客,但找出不同游戏中的共同点,针对同一类的游戏去写博客,应该是可行的.我把安卓上 ...
- date命令使用总结【转载】
本文转载自:http://blog.sina.com.cn/s/blog_674b5aae0100o0w9.html 由于跨年.跨月.闰平年等特殊性,在日常编程过程中对日期的处理总是异常麻烦.目前,各 ...