成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

MD5加密和哈希算法

DangoSky / 1203人閱讀

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

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

Md5加密算法原理

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

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

- (NSString *)md5String{
    //先轉(zhuǎn)為UTF_8編碼的字符串
    const char* str = [self UTF8String];
    //設(shè)置一個接受字符數(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進制數(shù)列(這個過程不可逆轉(zhuǎn)) 存儲到了result這個空間中
     */
    CC_MD5(str, strlen(str), result);
    
    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH* 2];
    /*
     x表示十六進制,%02X  意思是不足兩位將用0補齊,如果多余兩位則不影響
     NSLog("%02X", 0x888);  //888
     NSLog("%02X", 0x4); //04
     */
    //將16字節(jié)的16進制轉(zhuǎn)成32字節(jié)的16進制字符串
    for(int i = 0; i

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

md5加密算法c語言版 md5加密算法c語言版

2.SHA算法

- (NSString *)sha1:(NSString *)str
{
    const char *cstr = [str UTF8String];
    //使用對應(yīng)的CC_SHA1,CC_SHA256,CC_SHA384,CC_SHA512的長度分別是20,32,48,64
    unsigned char digest[CC_SHA1_DIGEST_LENGTH];
    //使用對應(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/78339.html

相關(guān)文章

  • 哈希摘要算法

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

    tain335 評論0 收藏0
  • 加密解密算法介紹

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

    ThinkSNS 評論0 收藏0
  • 如何對用戶密碼進行加密

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

    張率功 評論0 收藏0
  • 當我們在談?wù)撉岸?em>加密時,我們在談些什么

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

    wizChen 評論0 收藏0
  • 聊聊加密那點事——PHP加密最佳實踐

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

    lcodecorex 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<