日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全

發(fā)布時(shí)間:2025/4/9 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

演示樣例項(xiàng)目下載地址 ?https://github.com/cerastes/Encryption


1MD5

創(chuàng)建MD5類

#import <Foundation/Foundation.h>@interface CJMD5 : NSObject +(NSString *)md5HexDigest:(NSString *)input; @end
#import "CJMD5.h" #import <CommonCrypto/CommonDigest.h>@implementation CJMD5 +(NSString *)md5HexDigest:(NSString *)input{const char* str = [input UTF8String];unsigned char result[CC_MD5_DIGEST_LENGTH];CC_MD5(str, strlen(str), result);NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];for(int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {[ret appendFormat:@"%02X",result];}return ret; } @end
MD5是不可逆的僅僅有加密沒(méi)有解密使用方式例如以下

NSString *userName = @"cerastes"; NSString *password = @"hello Word"; // MD5加密 NSString *md5 = [CJMD5 md5HexDigest:password]; NSLog(@"%@",md5);
2AES加密

AES加密開(kāi)源碼git下載地址

https://github.com/Gurpartap/AESCrypt-ObjC

用法

// AES加密NSString *encryptedData = [AESCrypt encrypt:userName password:password];//加密NSString *message = [AESCrypt decrypt:encryptedData password:password]; //解密NSLog(@"加密結(jié)果 = %@",encryptedData);NSLog(@"解密結(jié)果 = %@",message);
3 BASE64加密

下載地址?https://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

?加入例如以下方法

.h

+ (NSString*)encodeBase64String:(NSString *)input; + (NSString*)decodeBase64String:(NSString *)input; + (NSString*)encodeBase64Data:(NSData *)data; + (NSString*)decodeBase64Data:(NSData *)data;
.m

+ (NSString*)encodeBase64String:(NSString * )input {NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];data = [GTMBase64 encodeData:data];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String; }+ (NSString*)decodeBase64String:(NSString * )input {NSData *data = [input dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];data = [GTMBase64 decodeData:data];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String; }+ (NSString*)encodeBase64Data:(NSData *)data {data = [GTMBase64 encodeData:data];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String; }+ (NSString*)decodeBase64Data:(NSData *)data {data = [GTMBase64 decodeData:data];NSString *base64String = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];return base64String; }
用法

// BASE64加密NSString *baseEncodeString = [GTMBase64 encodeBase64String:password];NSString *baseDecodeString = [GTMBase64 decodeBase64String:baseEncodeString];NSLog(@"baseEncodeString = %@",baseEncodeString);NSLog(@"baseDecodeString = %@",baseDecodeString);


轉(zhuǎn)載于:https://www.cnblogs.com/mfrbuaa/p/3890328.html

總結(jié)

以上是生活随笔為你收集整理的iOS经常使用加密方式(MD5,AES,BASE64)与网络数据安全的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。