目前網路伺服器有種流行的restful設計風格,如下圖所示:
在終端使用base64編碼解碼檔案的方法和結果如下:
結果如下:
事實上base64也常用於給使用者的密碼編碼和解碼。
新建工程 進行掌握 步驟如下:
**如下:
//
// viewcontroller.m
// post登入
////
/** 安全隱患:
儘管在傳送資料的過程中,密碼進行了二進位制轉換。但實際上,密碼還是明文。
解決方法:
base64編碼,是網路上使用最廣泛的一種編碼格式
作用:可以將二進位制資料轉為字串。
有的時候網路請求上,會希望只傳遞字串。
1. url中的引數,會直接帶上的傳輸。
2. 銀聯的網銀介面,把整個消費憑據生成乙個資料的格式進行base64的編碼,編碼完再傳遞給伺服器。
base64的特點:
編碼之後的結果,只有64個字元 a~z a~z 0~9 / + 再加上乙個輔助字元 =
base64加密之後的好處
1、 在網路傳輸的過程中沒有傳輸密碼明文
2、在本地也不能儲存密碼的明文
*/#import "viewcontroller.h"
#define kloginusernamekey @"kloginusernamekey"
#define kloginuserpwdkey @"kloginuserpwdkey"
@inte***ce viewcontroller ()
@property (weak, nonatomic) iboutlet uitextfield *nametext;
@property (weak, nonatomic) iboutlet uitextfield *pwdtext;
@end
@implementation viewcontroller
-(void)viewdidload
- (ibaction)click
}];}// base64 加密(蘋果已經封裝好了 ios7之後)
// base64 加密的實質是 將二進位制資料轉為加密後的字串
// 將密碼進行base64加密的方法
-(nsstring *)base64encode:(nsstring *)str
// base64解碼
-(nsstring *)base64decode:(nsstring *)str
@end
為了保證使用者資料的安全性,伺服器端的密碼也是加密後的,所以為了模擬 將本地伺服器的login.php的密碼驗證也改為base64編碼後的密碼字串 如下所示:
由於itool等工具可以直接獲取使用者的本地資料,所以 在使用者的偏好設定以及本地資料檔案中也不能直接儲存使用者的密碼。經base64加密後,進行執行 開啟使用者的偏好設定的plist檔案如下
後台執行輸出如下:
base64編碼 動畫演示 Base 64 編碼
base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...
base64 的編碼與解碼
base64編碼是網路上常見的用於傳輸8bit位元組資料的一種編碼方式之一base64的初衷,是為了滿足電子郵件中不能直接使用非ascii碼字元的規定.現在最常用的應用場景就是在http協議上傳輸較長的文字資訊。它是將使用者輸入的二進位制數 據,打包成一種安全格式,將其作為http首部欄位的值傳送出...
Android資料加密之Base64編碼演算法
前面學習總結了平時開發中遇見的各種資料加密方式,最終都會對加密後的二進位制資料進行base64編碼,起到一種二次加密的效果,其實呢base64從嚴格意義上來說的話不是一種加密演算法,而是一種編碼演算法,為何要使用base64編碼呢?它解決了什麼問題?這也是本文 的東西?其他幾種加密方式 base64...