IOS开发——用户信息使用MD5加密

作者: 断风刀 | 来源:发表于2016-08-12 00:43 被阅读541次

MD5说明:MD5是安卓和ios系统中最常用的加密方式,其特点是加密后生成32位的字符串。且加密后的数据不可逆,网络上的暴力破解网页只是将MD5加密后生成的32wei位字符串与自行生成的密码字符串进行比对,字符串相同就输出对应的密码。这种方式只能破解简单的密码。有复杂数据的密码很难进行破解。因此用户的信息安全可以得到保证。因为MD5码是不可逆的,所以用户密码忘记之后只能设置新的密码,不能取回原来的密码。为了加强MD5加密的安全性,系统提供了加盐的方法,更进一步保证了数据的安全性。

MD5特点:

对任意的数据进行计算,生成固定长度的字符串.32个字符.

一般用来加密密码.

有时候也用来验证文件下载时,是否被篡改过.

文件下载完成之后计算文件的md5值,与服务器计算的MD5值比较,如果不一样那么这个文件在下载的过程中被篡改了.

使用终端命令获取加密后的MD5

#得到文件的MD5值

$ md5 文件名

#得到字符串的MD5值

md5 -s "string"

MD5加密方案,和实现步骤:

先导入分类

#import"NSString+Hash.h"

方案一 :

直接MD5计算

psd = [psd md5String];

Base64与MD5的对比:

Base64编码 : "加密"简单,算法可逆.毫无安全性可言.不能用来加密密码.

MD5 : 加密过程复杂,算法不可逆,安全性高,常用来加密密码等用户的敏感信息.但是简单的密码MD5加密之后可以暴力破解.

暴力破解网站 :http://www.cmd5.com/

方案二 : 密码加盐

如果原始密码过于简单,直接进行MD5加密是很容易被暴力破解的.

为了增强密码的安全性,防止加密的密码被暴力破解,可以向原始密码中加盐.

盐 : 服务器端和客户端约定的一个字符串.

MD5+盐 : 原始密码+盐拼接出新的密码字符串,再进行MD加密.

以上为加一勺盐,比单纯的直接MD5加密安全性要高.

盐要足够的咸,越咸越安全.

//

盐。和加盐加密的方法。

NSString*salt = @"123zxcASD!@#";

psd=[[psd stringByAppendingString:salt] md5String];

方案三 : HMAC

HMAC : 加两勺盐.加两勺盐的密码加密强度比加一勺盐要高.

原理 : 原始密码+盐进行MD5计算,结算的结果+原始密码再进行MD5计算.

//盐

NSString *salt = @"123zxcASD!@#";

psd=[psd hmacMD5StringWithKey:salt];

注意

不必要用不可逆的加密算法加密密码并保存到本地.因为不可逆的加密算法加密的数据不能还原回来。保存到本地的密码无法正常使用。

苹果提供了钥匙串专门保存用户的私密信息到本地.苹果保存钥匙串的文件并不公开,这是为了进一步保证用户信息的安全性。

相关文章

  • IOS开发——用户信息使用MD5加密

    MD5说明:MD5是安卓和ios系统中最常用的加密方式,其特点是加密后生成32位的字符串。且加密后的数据不可逆,网...

  • 密码学

    一、数据加密方法 以前对于用户密码一般使用MD5进行加密,但是现在单独使用MD5对用户密码加密已经不安全了! 现在...

  • Java 登录模块设计

    登录流程 前端登录传输用户名和md5加密后的密码 后端对密码在进行md5加密,或者使用md5加密的密码 + id ...

  • Java AES 加密小试牛刀

    在java开发过程中,很多时候我们都需要加密数据,例如声音、敏感信息等。我们通常使用的是 MD5加密、SHA加密、...

  • iOS 数据加密

    iOS 常用加密方式算法包括MD5加密、AES加密、BASE64加密 MD5加密 MD5:全称是Message D...

  • iOS加密

    iOS代码常见的加密方式包括MD5加密、AES加密、BASE64加密,RSA加密。 MD5加密 MD5是不可逆的只...

  • Unity MD5加密常用方法

    在开发中涉及到用户密码的时候,通常会对用的密码进行加密。 以MD5加密方式常用 下面保存C#加密MD5 16位加密...

  • 基于C#对用户密码使用MD5加密与解密

    一.使用16位、32位、64位MD5方法对用户名加密 1)16位的MD5加密 2)32位的MD5加密 3)64位的...

  • iOS如何使用MD5加密

    在登录注册时,经常采用MD5加密技术对密码,也用于对敏感数据进行加密。本文简单介绍了iOS中MD5加密的使用方式。...

  • 密码处理类

    前言 在实际项目中对用户密码的加密方式使用简单的md5加密已过时,实际上在md5的加密方式是很容易被反md5解析的...

网友评论

  • Chenfy:Md5并非加密算法,base64也非加密算法,只是编码技术
  • 8df23361d8fe:不可靠了md5

本文标题:IOS开发——用户信息使用MD5加密

本文链接:https://www.haomeiwen.com/subject/zybssttx.html