iOS MD5加密
簡介
MD5(單向雜湊演算法)的全稱是Message-Digest Algorithm 5(資訊-摘要演算法),經過MD5處理後看不到原文,是一種加密演算法。
MD5的特點
輸入兩個不同的明文不會得到相同的輸出值
根據輸出值,不能得到原始的明文,即其過程不可逆
MD5的應用
由於MD5加密演算法具有較好的安全性,而且免費,因此該加密演算法被廣泛使用
主要運用在數字簽名、檔案完整性驗證以及口令加密等方面
- 比如傳送一個電子文件,傳送前,我先得到MD5的輸出結果a。然後在對方收到電子文件後,對方也得到一個MD5的輸出結果b。如果a與b一樣就代表中途未被篡改。
- 比如我提供檔案下載,為了防止不法分子在安裝程式中新增木馬,我可以在網站上公佈由安裝檔案得到的MD5輸出結果。
MD5解密網站:http://www.cmd5.com
為了方便使用,我們可以把md5寫成一個分類。
標頭檔案
#import <Foundation/Foundation.h>
@interface NSString (MD5)
- (NSString *)md5_32bit;
- (NSString *)MD5_32BIT;
@end
實現檔案
#import "NSString+MD5.h"
#import <CommonCrypto/CommonDigest.h>
@implementation NSString (MD5)
- (NSString *)md5_32bit {
const char *cStr = [self UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, (CC_LONG)self.length, digest );
NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[result appendFormat:@"%02x", digest[i]];
return result;
}
- (NSString *)MD5_32BIT {
const char *cStr = [self UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];
CC_MD5( cStr, (CC_LONG)self.length, digest );
NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
[result appendFormat:@"%02X", digest[i]];
return result;
}
@end
文/夢亦趣(簡書作者)
原文連結:http://www.jianshu.com/p/8898b0bb3c94
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。
原文連結:http://www.jianshu.com/p/8898b0bb3c94
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。
相關文章
- MD5加密加密
- java MD5 加密Java加密
- JAVA中MD5加密(MD5工具類)Java加密
- Vue 前端md5加密Vue前端加密
- MD5加密工具類加密
- Oracle中的MD5加密Oracle加密
- qt實現md5加密QT加密
- C# MD5 加密,解密C#加密解密
- Oracle和MySQL md5加密OracleMySql加密
- MD5加密演算法加密演算法
- 獲取md5加密值加密
- java md5加密的幾種方式Java加密
- MD5雜湊加密演算法加密演算法
- python怎麼使用md5加密解密Python加密解密
- JavaScript實現的base64加密、md5加密、sha1加密及AES加密JavaScript加密
- Golang兩種方法實現MD5加密Golang加密
- 資料庫級別的 MD5 加密資料庫加密
- java實現MD5加鹽加密方法Java加密
- 淺談md5加密 以及C++實現加密C++
- Python3 MD5加密正確使用方式Python加密
- nodeJS之crypto模組md5和Hmac加密NodeJSMac加密
- C# Base64加解密、MD5加密C#解密加密
- 加密演算法原理分析(MD5、SHA-256)加密演算法
- python對介面中的資料進行md5加密Python加密
- C語言實現MD5加密,竟如此簡單!C語言加密
- iOS 開發加密做法iOS加密
- springboot使用者登陸密碼兩次md5加密Spring Boot密碼加密
- python_hashlib,md5,getpass, 密碼加密,隱藏,加鹽Python密碼加密
- 摘要與加密的區別(以MD5演算法為例)加密演算法
- 加密演算法比較:SHA1,SHA256,MD5加密演算法
- ctfshow--web9 md5二進位制格加密的繞過Web加密
- 如何 使 Java、C# md5 加密的值保持一致JavaC#加密
- 資訊保安:資料加密實戰!對專案中資料使用MD5演算法進行加密加密演算法
- iOS常見的幾種加密方法iOS加密
- Java實現密碼、檔案MD5加密,密碼sha256、sha384、sha512Hex等加密Java密碼加密
- PostgreSQL使用者密碼如何透過md5加密儲存,是否加了saltSQL密碼加密
- shiro入門學習--使用MD5和salt進行加密|練氣後期加密
- 安全-md5
- md5解密解密