比MD5 和HMAC还要安全的加密 - MD5 加时间戳

//1、给一个字符串进行MD5加密

NSString *passKey =
@"myapp";

passKey = [passKey md5String];

//2、对第一步中得到的MD5
和密码进行HMAC加密

NSString *passWord = [pwd
hmacMD5StringWithKey:passKey];

//3、获取系统时间
拼接到第二部中的结果中

NSData *data = [NSData
dataWithContentsOfURL:[NSURL
URLWithString:@"服务器的地址获取服务器的时间"]];

NSDictionary *dic = [NSJSONSerialization
JSONObjectWithData:data options:0
error:NULL];

NSString *time = dic[@"key"];

passWord = [passWord stringByAppendingString:time];

//4、对第三步得到的结果
和第一步进行HMAC加密

passWord = [passWord hmacMD5StringWithKey:passKey];

return passWord;

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-07 15:29:59

比MD5 和HMAC还要安全的加密 - MD5 加时间戳的相关文章

(转)DES、RSA、MD5、SHA、随机生成加密与解密

一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encrypti

DES、RSA、MD5、SHA、随机生成加密与解密

一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合: 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高: RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快: IDEA(International Data Encrypti

MD5 SHA1 HMAC HMAC_SHA1区别

什么是MD5,什么是SHA-1,让我们先来了解一些基本知识,了解hash. Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值. 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. HASH主要用于信息安全领域中加密算法,他把一些

java加密MD5,DES

des,可以直接拿过去用的,,,不用深入了解算法的整个过程 package com.hotel.EncryptionAndDecryption; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.security.InvalidKeyException; import java.s

iOS开发 - 网络数据安全加密(MD5)

提交用户的隐私数据 一定要使用POST请求提交用户的隐私数据GET请求的所有参数都直接暴露在URL中请求的URL一般会记录在服务器的访问日志中服务器的访问日志是黑客攻击的重点对象之一 用户的隐私数据登录密码银行账号- - 数据安全 仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 常见的加密算法 <code class="hljs tex&q

iOS之那几种加密 MD5加密.

前言: 好好活着,因为我们会死很久.---海腾 iOS之那几种加密 MD5加密.  接下来我们看代码 NSString+MD5.h   // // NSString+MD5.h // UI21_MD5加密 // // Created by JR_Rafael on 16/1/11. // Copyright © 2016年 lanou3g. All rights reserved. // #import <Foundation/Foundation.h> @interface NSString

MD5 加密 以及 加盐加密

这是MD5加密 - (NSString *)MD5Hash { const char *cStr = [self UTF8String]; unsigned char result[16]; CC_MD5(cStr, strlen(cStr), result); NSString * string= [NSString stringWithFormat: @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X"

Java 自带的加密类MessageDigest类(加密MD5和SHA)

Java 自带的数据加密类MessageDigest(MD5或SHA加密) 说明: 在网站中,为了保护网站会员的用户名和密码等隐私信息,所以我们在用户注册时就直接进行MD5方式或其他方式进行加密,   即使是数据库管理员也不能查看该会员的密码等信息,在数据库中查看密码效果如:8e830882f03b2cb84d1a657f346dd41a效果. 因为MD5算法是不可逆的,所以被很多网站广泛使用, 普遍使用的三种加密方式 方式一:使用位运算符,将加密后的数据转换成16进制 方式二:使用格式化方式,

盐值加密-MD5

盐值加密-MD5 什么叫盐值加密 Spring security怎样进行盐值加密 以前的md5原理是 密码密文=md5算法(密码明文): 这样明文与密文其实还是一一对应的 那么人家就可以用字典攻击(就是一个一个的试)来探测密码 加盐(盐值加密)的算法很多 Spring security用的是: 密码密文=md5算法(密码明文{盐值}): 这个盐值就可以自己随便设置了,弄一个静态字符串或者用用户的登录名 举个例子: 用户名:thr 密码:fou 用用户名作为盐值 打开网页:http://www.m