問題:
我在做使用者登入的時候,後台API需要MD5加密後的學號和請求時間合并的字串,所以在GitHub上找了一個加密的架構,連結:https://github.(牛)com/paulery2014/CocoaSecurity ,我自己寫了一個小的Demo,方便大家使用
使用方式:
下載CocoaSecurity架構到本地,匯入Base64和CocoaSecurity的4個檔案,然後在需要調用的.m檔案import “CocoaSecurity.h”標頭檔
各種方式加密源碼:
// 簽名演算法(MD5、SHA1、HMAC) // 字串MD5加密 CocoaSecurityResult *result_md5 = [CocoaSecurity md5:@"liuxiaofei_md5"]; // 字串SHA1加密 CocoaSecurityResult *result_sha1 = [CocoaSecurity sha1:@"liuxiaofei_sha1"]; // 字串SHA256加密 CocoaSecurityResult *result_sha256 = [CocoaSecurity sha256:@"liuxiaofei_sha256"]; // 列印hash(md5,sha1,sha256)加密後的字元差 NSLog(@"MD5加密後的字串為hex:%@",result_md5.hex); NSLog(@"MD5加密後的字串為hexLower:%@",result_md5.hexLower); NSLog(@"MD5加密後的字串為base64:%@",result_md5.base64); NSLog(@"SHA1加密後的字串為hex:%@",result_sha1.hex); NSLog(@"SHA1加密後的字串為hexLower:%@",result_sha1.hexLower); NSLog(@"SHA1加密後的字串為base64:%@",result_sha1.base64); NSLog(@"SHA256加密後的字串為hex:%@",result_sha256.hex); NSLog(@"SHA256加密後的字串為hexLower:%@",result_sha256.hexLower); NSLog(@"SHA256加密後的字串為base64:%@",result_sha256.base64); // 對稱式加密演算法(3DS、AES) /*AES加密: *進階加密標準 *是下一代的密碼編譯演算法標準,速度快,安全層級高 *AES 標準的一個實現是 Rijndael 演算法 */ CocoaSecurityResult *result_AES = [CocoaSecurity aesEncrypt:@"liuxiaofei" key:@"testKey"]; NSLog(@"AES加密後的字串:%@",result_AES.hex); NSLog(@"AES加密後的字串:%@",result_AES.hexLower); NSLog(@"AES加密後的字串:%@",result_AES.base64); // 非對稱式加密演算法(資料量比較小時) // RSA....blablabla