欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單講解iOS應(yīng)用開發(fā)中的MD5加密的相關(guān)使用

 更新時(shí)間:2015年12月19日 10:08:11   作者:文頂頂  
這篇文章主要介紹了iOS應(yīng)用開發(fā)中的MD5加密的相關(guān)使用,示例代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下

一、簡單說明

1.說明

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

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

“青花瓷”軟件

20151219100407983.png (451×372)

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

 

2.常見的加密算法

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

3.加密算法的選擇

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

 

二、MD5

1.簡單說明

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

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

 

2.MD5的特點(diǎn)

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

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

 

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已不再是絕對安全,對此,可以對MD5稍作改進(jìn),以增加解密的難度

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

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

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

代碼示例:

復(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];
   
    // 注冊:  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)使用加鹽(通過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)

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

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

20151219100605097.png (705×325)

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

20151219100621929.png (697×384)

相關(guān)文章

  • AVFoundation AVCaptureSession媒體捕捉

    AVFoundation AVCaptureSession媒體捕捉

    這篇文章主要為大家介紹了ios開發(fā)AVFoundation AVCaptureSession媒體捕捉詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • iOS應(yīng)用程序之間的幾種跳轉(zhuǎn)情況詳解

    iOS應(yīng)用程序之間的幾種跳轉(zhuǎn)情況詳解

    這篇文章給大家詳細(xì)介紹了iOS應(yīng)用程序之間跳轉(zhuǎn)的幾種情況,包括跳轉(zhuǎn)到另一個(gè)程序的主界面、跳轉(zhuǎn)到另一個(gè)程序的指定界面以及如何從目標(biāo)程序的非主頁界面回到當(dāng)前(跳轉(zhuǎn)前)程序呢?有需要的朋友們可以下面來一起看看。
    2016-09-09
  • Objective-C與Swift之間的互相調(diào)用和跳轉(zhuǎn)

    Objective-C與Swift之間的互相調(diào)用和跳轉(zhuǎn)

    這篇文章主要給大家介紹了關(guān)于Objective-C與Swift之間的互相調(diào)用和跳轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • iOS開發(fā)之隨機(jī)生成兩圓之間的標(biāo)準(zhǔn)圓

    iOS開發(fā)之隨機(jī)生成兩圓之間的標(biāo)準(zhǔn)圓

    這篇文章主要給大家介紹了iOS如何實(shí)現(xiàn)在兩圓之間隨機(jī)生成標(biāo)準(zhǔn)圓的方法,實(shí)現(xiàn)的效果類似尋找附近人或者附近商家的動態(tài)效果,有需要的朋友可以參考借鑒,下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • iOS中創(chuàng)建Model的最佳實(shí)踐記錄

    iOS中創(chuàng)建Model的最佳實(shí)踐記錄

    這篇文章主要給大家介紹了關(guān)于iOS中創(chuàng)建Model的最佳實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用iOS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • iOS判斷網(wǎng)絡(luò)請求超時(shí)的方法

    iOS判斷網(wǎng)絡(luò)請求超時(shí)的方法

    本篇文章主要介紹了iOS判斷網(wǎng)絡(luò)請求超時(shí)的方法,現(xiàn)在分享給大家,也給大家做個(gè)參考。感興趣的小伙伴們可以參考一下。
    2016-12-12
  • IOS入門筆記之地理位置定位系統(tǒng)

    IOS入門筆記之地理位置定位系統(tǒng)

    關(guān)于地理位置及定位系統(tǒng),在iOS開發(fā)中也比較常見,接下來通過本文給大家介紹IOS入門筆記之地理位置定位系統(tǒng),對ios地理位置定位系統(tǒng)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • iOS在Block中修改外部變量值的實(shí)現(xiàn)代碼

    iOS在Block中修改外部變量值的實(shí)現(xiàn)代碼

    這篇文章主要介紹了iOS在Block中修改外部變量值的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2017-08-08
  • iOS無障礙適配西瓜視頻Voice?Over實(shí)踐示例

    iOS無障礙適配西瓜視頻Voice?Over實(shí)踐示例

    本文從研發(fā)的視角出發(fā),講述了如何使用?Voice?Over、如何適配?Voice?Over?以及適配過程中如果遇到問題應(yīng)該如何解決。希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 簡單說說iOS之WKWebView的用法小結(jié)

    簡單說說iOS之WKWebView的用法小結(jié)

    iOS8.0之后我們使用 WebKit框架中的WKWebView來加載網(wǎng)頁。這篇文章主要介紹了簡單說說iOS之WKWebView的用法小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論