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
著作權歸作者所有,轉載請聯絡作者獲得授權,並標註“簡書作者”。
相關文章
- iOS 對字串和檔案md5加密iOS字串加密
- MD5加密加密
- iOS 加密 base64 sha1 MD5 RSAiOS加密
- C# 實現MD5加密處理 MD5 加密C#加密
- java MD5 加密Java加密
- 【Java】MD5加密Java加密
- md5加密解密加密解密
- java md5加密Java加密
- JAVA中MD5加密(MD5工具類)Java加密
- Vue 前端md5加密Vue前端加密
- 關於MD5加密加密
- oracle的md5加密Oracle加密
- Android資料加密之MD5加密Android加密
- Oracle和MySQL md5加密OracleMySql加密
- qt實現md5加密QT加密
- Oracle中的MD5加密Oracle加密
- C# MD5 加密,解密C#加密解密
- java MD5 加密實現Java加密
- Javascript實現MD5加密JavaScript加密
- SQL Server中MD5加密SQLServer加密
- MD5加密工具類--備忘加密
- python 實現md5加密Python加密
- ASP md5 加密程式原始碼加密原始碼
- java md5加密的幾種方式Java加密
- Oracle 提供的MD5加密函式Oracle加密函式
- JavaScript實現的base64加密、md5加密、sha1加密及AES加密JavaScript加密
- 資料庫級別的 MD5 加密資料庫加密
- python怎麼使用md5加密解密Python加密解密
- Golang兩種方法實現MD5加密Golang加密
- java實現MD5加鹽加密方法Java加密
- jquery和php中相同的MD5加密jQueryPHP加密
- 用C#將字串用MD5加密C#字串加密
- MD5加密演算法簡介 (轉)加密演算法
- C# Base64加解密、MD5加密C#解密加密
- 淺談md5加密 以及C++實現加密C++
- nodeJS之crypto模組md5和Hmac加密NodeJSMac加密
- 使用Des,MD5 加密.解密.字串.檔案 (轉)加密解密字串
- Java常用加密演算法(一)—單向加密演算法(MD5/SHA)Java加密演算法