iOS MD5加密

来源:http://www.cnblogs.com/huyp/archive/2016/01/27/5163451.html
-Advertisement-
Play Games

md5方法: 1.導入頭文件 #import <CommonCrypto/CommonDigest.h> 2.寫下麵的方法 - (NSString *)md5_32bit:(NSString *)input; 1).傳入的參數必須是字元串,NSData 可以轉成字元串. 2).得到的結果就是32個字


md5方法:

 1.導入頭文件 #import <CommonCrypto/CommonDigest.h>

 2.寫下麵的方法 - (NSString *)md5_32bit:(NSString *)input;

    1).傳入的參數必須是字元串,NSData 可以轉成字元串.

    2).得到的結果就是32個字.

 1 - (NSString *)md5_32bit:(NSString *)input {
 2     //傳入參數,轉化成char
 3     const char * str = [input UTF8String];
 4     //開闢一個16位元組(128位:md5加密出來就是128位/bit)的空間(一個位元組=8字位=8個二進位數)
 5     unsigned char md[CC_MD5_DIGEST_LENGTH];
 6     /*
 7      extern unsigned char * CC_MD5(const void *data, CC_LONG len, unsigned char *md)官方封裝好的加密方法
 8      把str字元串轉換成了32位的16進位數列(這個過程不可逆轉) 存儲到了md這個空間中
 9      */
10     CC_MD5(str, (int)strlen(str), md);
11     //創建一個可變字元串收集結果
12     NSMutableString * ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];
13     for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
14         /**
15          X 表示以十六進位形式輸入/輸出
16          02 表示不足兩位,前面補0輸出;出過兩位不影響
17          printf("%02X", 0x123); //列印出:123
18          printf("%02X", 0x1); //列印出:01
19          */
20         [ret appendFormat:@"%02X",md[i]];
21     }
22     //返回一個長度為32的字元串
23     return ret;
24 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近做android開發遇到無法通過usb鏈接設備的情況,通過wifi連接設備調試也頗為方便 1、android 要root , 下載終端app 比如 BetterTerminal 2、通過以下命令開啟adbd su //如果前面顯示的符號是$ ,則運行此命令切換到root。如果是# ,可以不用此命
  • 有些項目用xcode7打開運行,打包安裝到iOS9設備上程式會閃退。如果用xcode7以下編譯,然後打包到iOS9的設備上就是正常的。這是為什麼,關鍵是,怎麼解決? 答:iOS9發佈之後,有些app在新的系統下會經常出現閃退的情況,而官方也給了許多的適配與改變。以使用戶體驗更好。所以做為開發者怎樣為
  • 一、前言 android客戶端開發進入尾聲,負責SEO同事突然發給我一個涉及45個發佈渠道的噩耗,之前只發佈自有渠道的工作方式已經不滿足需求,所以引入最近比較流行的gradle打包技術。 gradle基於groovy語言,引入的原因也方便了以後從現在使用的eclipse開發環境遷移到Android
  • 昨天花了一下午的時間研究了下極光推送,也前也是沒做過,不知道從何下手!才開始的時候一看官方的SDK感覺好難,不過經過一系列的搗鼓之後,手機收到了推送信息,感覺其實並沒有那麼難! 1.配置開發證書(得有開發者賬號,個人,企業的都可以) 開發環境測試 在對 JPush iOS 開發環境進行測試前,請確保
  • 我們經常需要把一個數字轉成字元串,當你不需要配合其他字元串的時候可以用description. 1 /** 2 description屬於NSObject 3 值是NSNumber時候,不用stringWithFormate來轉化成字元串了.簡便得多 4 在解析/賦值的時候比較有用,當我們需要NSS
  • public class ButtonUtils { private static long lastClickTime; public synchronized static boolean isFastClick() { long time = System.currentTimeMillis(
  • 在上文,我們介紹了ios開發中的其中2種數據持久化方式:屬性列表、歸檔解檔。本節將繼續介紹另外2種iOS持久化數據的方法:資料庫 SQLite3、Core Data 的運用; 在本節,將通過對4個文本框內容的創建、修改,退出後臺,再重新回到後臺,來認識這兩種持久化數據的方式。效果圖如下【圖1】: 【
  • 前言 需要開發者在本地上使用openssl來生成私鑰和公鑰 由於mac 自帶openssl工具,所以不用像windows那樣要下載安裝openssl工具 步驟 1.創建一個文件夾,終端進入該文件夾 cd /Users/tanqihong/Desktop/rsa 2.終端輸入openssl打開工具 3
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...