国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

MD5加密和哈希算法

DangoSky / 1192人閱讀

摘要:加密算法為現(xiàn)在應(yīng)用最廣泛的哈希算法之一,該算法廣泛應(yīng)用于互聯(lián)網(wǎng)網(wǎng)站的用戶(hù)文件加密,能夠?qū)⒂脩?hù)密碼加密為位的長(zhǎng)整數(shù)。在加密算法中,首先需要對(duì)信息進(jìn)行填充,使其字節(jié)長(zhǎng)度對(duì)求余數(shù)的結(jié)果等于。

MD5加密算法為現(xiàn)在應(yīng)用最廣泛的哈希算法之一,該算法廣泛應(yīng)用于互聯(lián)網(wǎng)網(wǎng)站的用戶(hù)文件加密,能夠?qū)⒂脩?hù)密碼加密為128位的長(zhǎng)整數(shù)。數(shù)據(jù)庫(kù)并不明文存儲(chǔ)用戶(hù)密碼,而是在用戶(hù)登錄時(shí)將輸入密碼字符串進(jìn)行MD5加密,與數(shù)據(jù)庫(kù)中所存儲(chǔ)的MD5值匹配,從而降低密碼數(shù)據(jù)庫(kù)被盜取后用戶(hù)損失的風(fēng)險(xiǎn)。

Md5加密算法原理

MD5加密算法以512位分組來(lái)處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過(guò)了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級(jí)聯(lián)后將生成一個(gè)128位散列值。

在MD5加密算法中,首先需要對(duì)信息進(jìn)行填充,使其字節(jié)長(zhǎng)度對(duì)512求余數(shù)的結(jié)果等于448。因此,信息的字節(jié)長(zhǎng)度(Bits Length)將被擴(kuò)展至N512+448,即N64+56個(gè)字節(jié)(Bytes),N為一個(gè)正整數(shù)。

- (NSString *)md5String{
    //先轉(zhuǎn)為UTF_8編碼的字符串
    const char* str = [self UTF8String];
    //設(shè)置一個(gè)接受字符數(shù)組
    //md5加密后是128bit, 16 字節(jié) * 8位/字節(jié) = 128 位
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    /*
     extern unsigned char *CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封裝好的加密方法
     
     把str字符串轉(zhuǎn)換成了32位的16進(jìn)制數(shù)列(這個(gè)過(guò)程不可逆轉(zhuǎn)) 存儲(chǔ)到了result這個(gè)空間中
     */
    CC_MD5(str, strlen(str), result);
    
    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH* 2];
    /*
     x表示十六進(jìn)制,%02X  意思是不足兩位將用0補(bǔ)齊,如果多余兩位則不影響
     NSLog("%02X", 0x888);  //888
     NSLog("%02X", 0x4); //04
     */
    //將16字節(jié)的16進(jìn)制轉(zhuǎn)成32字節(jié)的16進(jìn)制字符串
    for(int i = 0; i

MD5加密算法由于其具有較好的安全性,加之商業(yè)也可以免費(fèi)使用該算法,因此該加密算法被廣泛使用,md5加密算法主要運(yùn)用在數(shù)字簽名、文件完整性驗(yàn)證以及口令加密等方面。

md5加密算法c語(yǔ)言版 md5加密算法c語(yǔ)言版

2.SHA算法

- (NSString *)sha1:(NSString *)str
{
    const char *cstr = [str UTF8String];
    //使用對(duì)應(yīng)的CC_SHA1,CC_SHA256,CC_SHA384,CC_SHA512的長(zhǎng)度分別是20,32,48,64
    unsigned char digest[CC_SHA1_DIGEST_LENGTH];
    //使用對(duì)應(yīng)的CC_SHA256,CC_SHA384,CC_SHA512
    CC_SHA1(cstr,  strlen(cstr), digest);
    NSMutableString* result = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];
    for(int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) {
        [result appendFormat:@"%02x", digest[i]];
    }
    return result;
}

整理常用加密 iOS 與 Android 加密 MD5-SHA1

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78339.html

相關(guān)文章

  • 哈希摘要算法

    摘要:哈希摘要算法哈希函數(shù)也稱(chēng)散列函數(shù),是一種根據(jù)任意長(zhǎng)度數(shù)據(jù)計(jì)算出固定簽名長(zhǎng)度的算法,比如,系列。除了算法,還存在很多其他形式的哈希函數(shù)算法,比如系列,他們的設(shè)計(jì)思路大體相同。 前言 最近在看一些NPM庫(kù)的時(shí)候總是看到各種哈希簽名算法,之前工作中也有用到過(guò)簽名算法,但并沒(méi)有深入理解過(guò)其中的原理,于是找了點(diǎn)資料稍微了解了一下,總結(jié)了這篇文章。 哈希摘要算法 哈希函數(shù)(也稱(chēng)散列函數(shù)),是一種根...

    tain335 評(píng)論0 收藏0
  • 加密解密算法介紹

    摘要:加密解密算法介紹算法目前常見(jiàn)有加密算法,散列算法,編碼算法,使用位關(guān)鍵字作為流加密算法加密技術(shù)通常分為兩大類(lèi)對(duì)稱(chēng)式和非對(duì)稱(chēng)式。對(duì)稱(chēng)性加密算法有用途對(duì)稱(chēng)加密算法用來(lái)對(duì)敏感數(shù)據(jù)等信息進(jìn)行加密數(shù)據(jù)加密標(biāo)準(zhǔn),速度較快,適用于加密大量數(shù)據(jù)的場(chǎng)合。 加密解密算法介紹 算法目前常見(jiàn)有: 加密算法,散列算法,Base64(編碼算法),https(SSL使用40位關(guān)鍵字作為RC4流加密算法) 加密技術(shù)通...

    ThinkSNS 評(píng)論0 收藏0
  • 如何對(duì)用戶(hù)密碼進(jìn)行加密

    摘要:結(jié)論對(duì)用戶(hù)密碼進(jìn)行加密時(shí)需要做到防止用戶(hù)密碼明文被竊聽(tīng)交給,明文傳輸。為什么鹽可以明文存儲(chǔ)攻擊者很難有足夠的計(jì)算資源和存儲(chǔ)空間建立海量的哈希值密碼數(shù)據(jù)庫(kù),針對(duì)單條用戶(hù)記錄,建立哈希值密碼數(shù)據(jù)庫(kù)進(jìn)行攻擊的成本過(guò)高。 摘要 密碼驗(yàn)證是很常見(jiàn)的需求,如何在實(shí)現(xiàn)功能之余,防止用戶(hù)密碼泄露,已經(jīng)有了很成熟的方案。這篇文章把自己的思考和結(jié)論做一下記錄。 結(jié)論 對(duì)用戶(hù)密碼進(jìn)行加密時(shí)需要做到: 防止用...

    張率功 評(píng)論0 收藏0
  • 當(dāng)我們?cè)谡務(wù)撉岸?em>加密時(shí),我們?cè)谡勑┦裁?/b>

    摘要:所以我們今天只談前端加密,一個(gè)部分人認(rèn)為沒(méi)有意義的工作。在中,認(rèn)證過(guò)程使用了非對(duì)稱(chēng)加密算法,非認(rèn)證過(guò)程中使用了對(duì)稱(chēng)加密算法。非對(duì)稱(chēng)加密上文中我們討論了前端的哈希加密以及應(yīng)用的場(chǎng)景。 showImg(https://segmentfault.com/img/bVAhTC); 當(dāng)然在談安全。 前端安全是Web安全的一部分,常見(jiàn)的安全問(wèn)題會(huì)有XSS、CSRF、SQL注入等,然而這些已經(jīng)在程師...

    wizChen 評(píng)論0 收藏0
  • 聊聊加密那點(diǎn)事——PHP加密最佳實(shí)踐

    摘要:所謂對(duì)稱(chēng)加密,就是加密和解密使用同一秘鑰,這也是這種加密算法最顯著的缺點(diǎn)之一。非對(duì)稱(chēng)加密算法由于對(duì)稱(chēng)加密在通信加密領(lǐng)域的缺陷,年和提出了非對(duì)稱(chēng)加密的概念。非對(duì)稱(chēng)加密,其主要缺點(diǎn)之一就是慢,適合加密少量數(shù)據(jù)。 1. 加密的目的 加密不同于密碼,加密是一個(gè)動(dòng)作或者過(guò)程,其目的就是將一段明文信息(人類(lèi)或機(jī)器可以直接讀懂的信息)變?yōu)橐欢慰瓷先](méi)有任何意義的字符,必須通過(guò)事先約定的解密規(guī)則才能將...

    lcodecorex 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<