//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加密运算的更多相关文章

  1. 字符串MD5加密运算

    public static string GetMd5String(string str)       {           MD5 md5 = MD5.Create();           by ...

  2. java中使用MD5加密技术

    在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...

  3. (转)C#实现MD5加密

    首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer science和r ...

  4. 4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托

    MD5加密 将字符串进行加密,无法解密.网上的解密方式也都是在库里找,找不到也没有. 1 protected void Page_Load(object sender, EventArgs e) 2 ...

  5. C#实现MD5加密

    摘自:http://blog.csdn.net/shenghui188/archive/2010/03/28/5423959.aspx 方法一 首先,先简单介绍一下MD5 MD5的全称是message ...

  6. iOS MD5加密

    1.MD5加密 Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.该算法的文件号为RFC 1321 ...

  7. [android] 手机卫士保存密码时进行md5加密

    一般的手机没有root权限,进不去data/data目录,当手机刷机了后,拥有root权限,就可以进入data/data目录,查看我们保存的密码文件,因此我们需要对存入的密码进行MD5加密 获取Mes ...

  8. asp.net实现md5加密方法详解

    MD5加密简单的说就是把一段明文 通过某种运算方式 求出密文. 例如:明文为:abcdefg 通过一些列运算 得到 密文 7ac66c0f148de9519b8bd264312c4d64 它具有两个特 ...

  9. MD5加密 Java源代码

    package lwp; /** * * @author 梁WP */ public class MD5_Encoding { // RFC1321中定义的标准4*4矩阵的常量定义. static f ...

随机推荐

  1. web ajax跨域问题解决方案

      jsonpHandler({ "code": "aaa", "price": 1780, "tickets": 5 ...

  2. 调试器带参数调试(OD,EDB)

    小东西,不要在意这些细节-- OD带参数比较简单: 文件-- 打开 --  在最下面有一个参数 KALI LINUX下的EDB 命令格式为  edb –run  "对应程序路径"  ...

  3. CentOS 6用snmp配合MRTG显示系统状态

    1. 软件安装以yum的方式安装snmp/MRTG 安装SNMP(要记得安装net-snmp-utils,不然snmpwalk将不能使用)yum -y install net-snmp* 安装MRTG ...

  4. [Android] createTrack_l

    在分析AudioTrack的时候,第一步会new AudioTrack,并调用他的set方法.在set方法的最后调用了createTrack_l创建音轨.我们现在来分析createTrack_l的流程 ...

  5. KEIL C51 中嵌入汇编以及C51与A51间的相互调用

    如何在 KEIL C51(v6.21) 中调用汇编函数的一个示例 有关c51调用汇编的方法已经有很多帖子讲到,但是一般只讲要点,很少有对整个过程作详细描述,对于初学者是不够的,这里笔者通过一个简单例子 ...

  6. 程序自动生成Dump文件()

    前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件, drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了 ...

  7. BZOJ 1003 [ZJOI2006]物流运输trans

    1003: [ZJOI2006]物流运输trans Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4242  Solved: 1765[Submit] ...

  8. 【6】JAVA---地址App小软件(QueryPanel.class)(表现层)

    查找模块: 年龄可进行段查找. 其他的都是模糊匹配. 空格为无用字符,会屏蔽的(除年龄). (如果在年龄中输入空格,会出现异常,当时没想到这点,要防护这点很容易的,但因为在这个小软件的编写过程,我主要 ...

  9. 《算法问题实战策略》-chaper17-部分和

    数组上的一个基本优化——部分和: 对于一定长度的数组,我们想不断访问这个数组上的某个区间的和,我们能够怎么做呢?这里先不去谈一些数据结构在这个问题上的优化处理.首先我们最简单的一个方法就是穷举出所有区 ...

  10. windows下的类似grep命令findstr

    windows下的类似grep命令findstr findstr后面跟的字符串不能加引号 C:\Users\Administrator>netstat -an|findstr 10.1.151 ...