當前位置:首頁 » 密碼管理 » 帶百分號加密

帶百分號加密

發布時間: 2024-03-08 06:17:07

A. http ftp 中的%(百分號)是什麼意思

是網路語言,大概是查找范圍的意思

B. iOS加密2——Base64(蘋果支持)

1、由於某些系統中只能使用ASCII字元。Base64就是用來將非ASCII字元的數據轉換成ASCII字元的一種方法。

Base64編碼使用和urlencode比較
base64:
1、包含A-Z a-z 0-9 和加號「+」,斜杠「/」 用來作為開始的64個數字. 等號「=」用來作為後綴用途。
2、2進制的.
3、要比源數據多33%。
4、常用於郵件。

urlencode:將除了 -_. 之外的所有非字母數字字元都將被替換成百分號(%)後跟兩位十六進制數,空格則編碼為加號(+)

請求參數傳輸使用base64,而不是使用urlencode,為什麼?
1、部分因為base64編碼後參數就不可讀,而url編碼英文部分是不變的
2、為了兼容網路上的一些很古老的設備, 這些古董設備只能識別 base64編碼的字元
3、因為 urlencode 對二進制數據的效率不高,base64 會有效降低 %xx 的出現次數。
注釋
1、url請求中,只對參數進行base64編碼,不是對整個url進行base64編碼。
2、在url請求時,會對url整體進行urlencode編碼。

NSString *str = @"hello world"; NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding]; NSData *base64Data = [data base64EncodedDataWithOptions:0];

NSString *path = @"/Users/apple/Desktop/1.png"; NSData *data = [NSData dataWithContentsOfFile:path]; NSData *base64Data = [data base64EncodedDataWithOptions:0]; [base64Data writeToFile:@"/Users/apple/Desktop/base64" atomically:YES];

NSString *base64Str = [data :0]; NSLog(@"base64Str: %@",base64Str); NSLog(@"%@ %ld base64Data: %@ %ld",data,data.length,base64Data,base64Data.length);

NSData *endata = [[NSData alloc] initWithBase64EncodedData:base64Data options:0]; [endata writeToFile:@"/Users/apple/Desktop/123.png2" atomically:YES]; UIImage *image = [UIImage imageWithData:endata]; NSLog(@"%@",image);

和MD5一樣我們採取封裝的辦法將base64封裝進了MySecurities這個類中
MySecurities.h 文件
#import <Foundation/Foundation.h> @interface MySecurities : NSObject +(NSString *)base64EncodingWithData:(NSData *)sourceData;//base64加密 +(id)base64EncodingWithString:(NSString *)sourceString;//base64解密 @end
base64加密
@implementation MySecurities +(NSString *)base64EncodingWithData:(NSData *)sourceData{ if (!sourceData) { //如果sourceData則返回nil,不進行加密。 return nil; } NSString *resultString = [sourceData : ]; return resultString; } ***base64解密*** +(id)base64EncodingWithString:(NSString *)sourceString{ if (!sourceString) { return nil;//如果sourceString則返回nil,不進行解密。 } NSData *resultData = [[NSData alloc]initWithBase64EncodedString:sourceString options:]; return resultData; } @end

熱點內容
為什麼換安卓這么難 發布:2025-07-16 17:14:44 瀏覽:421
轉動密碼鎖怎麼開 發布:2025-07-16 17:14:37 瀏覽:611
伺服器和網關ip 發布:2025-07-16 17:09:35 瀏覽:930
如何用net映射伺服器盤符 發布:2025-07-16 17:08:50 瀏覽:13
小飛機android 發布:2025-07-16 16:51:00 瀏覽:236
python獲取api 發布:2025-07-16 16:35:28 瀏覽:740
安卓應用耗電優化是什麼 發布:2025-07-16 16:29:39 瀏覽:502
惠普電腦都有什麼配置的 發布:2025-07-16 15:51:49 瀏覽:520
hadoop編譯native 發布:2025-07-16 15:48:57 瀏覽:256
checksum的演算法 發布:2025-07-16 15:48:50 瀏覽:846