程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Objective-C的字符串MD5、SHA1、SHA256、AES加密的實現

Objective-C的字符串MD5、SHA1、SHA256、AES加密的實現

編輯:關於C語言

問題:

我在做用戶登錄的時候,後台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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved