国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

淺析iOS-MD5加密的說(shuō)明使用

2020-02-19 15:53:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在應(yīng)用程序的開(kāi)發(fā)中,數(shù)據(jù)的安全性是非常重要的,但是僅用POST請(qǐng)求提交用戶的隱私數(shù)據(jù)并不能完全解決安全問(wèn)題,今天這篇文章是武林技術(shù)頻道小編和大家分享的淺析iOS-MD5加密的說(shuō)明使用,希望對(duì)你學(xué)習(xí)有幫助!

一、簡(jiǎn)單說(shuō)明

1.說(shuō)明

在開(kāi)發(fā)應(yīng)用的時(shí)候,數(shù)據(jù)的安全性至關(guān)重要,而僅僅用POST請(qǐng)求提交用戶的隱私數(shù)據(jù),還是不能完全解決安全問(wèn)題。

如:可以利用軟件(比如Charles)設(shè)置代理服務(wù)器,攔截查看手機(jī)的請(qǐng)求數(shù)據(jù)

“青花瓷”軟件

20151219100407983.png (451×372)

因此:提交用戶的隱私數(shù)據(jù)時(shí),一定不要明文提交,要加密處理后再提交

?

2.常見(jiàn)的加密算法

MD5 / SHA / DES / 3DES / RC2和RC4 / RSA / IDEA / DSA / AES

3.加密算法的選擇

一般公司都會(huì)有一套自己的加密方案,按照公司接口文檔的規(guī)定去加密

?

二、MD5

1.簡(jiǎn)單說(shuō)明

MD5:全稱(chēng)是Message Digest Algorithm 5,譯為“消息摘要算法第5版”

效果:對(duì)輸入信息生成唯一的128位散列值(32個(gè)字符)

?

2.MD5的特點(diǎn)

(1)輸入兩個(gè)不同的明文不會(huì)得到相同的輸出值

(2)根據(jù)輸出值,不能得到原始的明文,即其過(guò)程不可逆

?

3.MD5的應(yīng)用

由于MD5加密算法具有較好的安全性,而且免費(fèi),因此該加密算法被廣泛使用

主要運(yùn)用在數(shù)字簽名、文件完整性驗(yàn)證以及口令加密等方面

4.MD5破解

MD5解密網(wǎng)站:http://www.cmd5.com

20151219100434754.png (820×377)

5.MD5改進(jìn)

現(xiàn)在的MD5已不再是絕對(duì)安全,對(duì)此,可以對(duì)MD5稍作改進(jìn),以增加解密的難度

加鹽(Salt):在明文的固定位置插入隨機(jī)串,然后再進(jìn)行MD5

先加密,后亂序:先對(duì)明文進(jìn)行MD5,然后對(duì)加密得到的MD5串的字符進(jìn)行亂序

總之宗旨就是:黑客就算攻破了數(shù)據(jù)庫(kù),也無(wú)法解密出正確的明文

代碼示例:

復(fù)制代碼 代碼如下:

#import "HMViewController.h"
#import "NSString+Hash.h"

?

#define Salt @"fsdhjkfhjksdhjkfjhkd546783765"

@interface HMViewController ()

@end

@implementation HMViewController

- (void)viewDidLoad
{
??? [super viewDidLoad];
???
??? [self digest:@"123"]; //
??? [self digest:@"abc"];
??? [self digest:@"456"];
}

/**
?*? 直接用MD5加密
?*/
- (NSString *)digest:(NSString *)str
{
??? NSString *anwen = [str md5String];
??? NSLog(@"%@ - %@", str, anwen);
??? return anwen;
}

/**
?*? 加鹽
?*/
- (NSString *)digest2:(NSString *)str
{
??? str = [str stringByAppendingString:Salt];
???
??? NSString *anwen = [str md5String];
??? NSLog(@"%@ - %@", str, anwen);
??? return anwen;
}

/**
?*? 多次MD5
?*/
- (NSString *)digest3:(NSString *)str
{
??? NSString *anwen = [str md5String];
???
??? anwen = [anwen md5String];
???
??? NSLog(@"%@ - %@", str, anwen);
??? return anwen;
}

/**
?*? 先加密, 后亂序
?*/
- (NSString *)digest4:(NSString *)str
{
??? NSString *anwen = [str md5String];
???
??? // 注冊(cè):? 123 ----? 2CB962AC59075B964B07152D234B7020
???
??? // 登錄: 123 --- 202CB962AC59075B964B07152D234B70
???
??? NSString *header = [anwen substringToIndex:2];
??? NSString *footer = [anwen substringFromIndex:2];
??? anwen = [footer stringByAppendingString:header];
???
??? NSLog(@"%@ - %@", str, anwen);
??? return anwen;
}
@end


(1)直接使用MD5加密(去MD5解密網(wǎng)站即可破解)

?

?

?

20151219100455260.png (939×86)

(2)使用加鹽(通過(guò)MD5解密之后,很容易發(fā)現(xiàn)規(guī)律)

20151219100513782.png (1001×93)

(3)多次MD5加密(使用MD5解密之后,發(fā)現(xiàn)還是密文,那就接著MD5解密)

20151219100531803.png (976×86)

(4)先加密,后亂序(破解難度增加)

20151219100548141.png (891×91)

三、注冊(cè)和驗(yàn)證的數(shù)據(jù)處理過(guò)程

1.提交隱私數(shù)據(jù)的安全過(guò)程 – 注冊(cè)

20151219100605097.png (705×325)

2.提交隱私數(shù)據(jù)的安全過(guò)程 – 登錄

20151219100621929.png (697×384)

以上就是淺析iOS-MD5加密的說(shuō)明使用,更多的相關(guān)介紹請(qǐng)繼續(xù)關(guān)注武林技術(shù)頻道!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁武县| 海伦市| 三门县| 醴陵市| 铜山县| 宜城市| 北海市| 元氏县| 池州市| 来安县| 台安县| 洛扎县| 剑河县| 天台县| 台中市| 曲阜市| 界首市| 彭泽县| 盐津县| 克什克腾旗| 库尔勒市| 华容县| 子洲县| 武川县| 济宁市| 安国市| 军事| 永川市| 平江县| 珲春市| 洛南县| 临海市| 松潘县| 兴城市| 县级市| 长治市| 清新县| 鄯善县| 栾城县| 东乌珠穆沁旗| 丁青县|