IOS中把字元串加密/IOS中怎麼樣MD5加密/IOS中NSString分類的實現

来源:http://www.cnblogs.com/wolfhous/archive/2016/01/04/5099970.html
-Advertisement-
Play Games

看完過後,你會學到:1學習IOS開發中的分類實現,2以及類方法的書寫,3以及字元串的MD5加密/解密.---------------------------wolfhous------------------[1]新建工程,新建分類[2]分類的命名方式以及類的選擇[3]書寫NSString分類的類方...


看完過後,你會學到:

1學習IOS開發中的分類實現,

2以及類方法的書寫,

3以及字元串的MD5加密/解密.

---------------------------wolfhous------------------

[1]新建工程,新建分類

[2]分類的命名方式以及類的選擇

[3]書寫NSString分類的類方法,以及實現類方法,以及MD5如何加密

[4]測試加密結果

[5]解密:直接百度MD5解密,隨便點歌網站進去,輸入解密KEY,在我這個Demo中,

 

wolfhous正常加密44bf025d27eea66336e5c1133c3827f7

wolfhous牛逼加密44fb461963aae22772a18557787c63b3

 

-------------------------wolfhous-----------------------

可見,牛逼加密普通網站無法解密,建議開發中,用戶在註冊時輸入密碼時,使用該加密.當然,牛逼加密方式N多種,我這隻列出一種簡單的方式,下麵放源碼

#import "NSString+md5String.h"

//引入必要頭文件

#import <CommonCrypto/CommonDigest.h>

@implementation NSString (md5String)

/** md5 一般加密 */

+ (NSString *)md5String:(NSString *)str

{

    const char *myPasswd = [str UTF8String];

    unsigned char mdc[16];

    CC_MD5(myPasswd, (CC_LONG)strlen(myPasswd), mdc);

    NSMutableString *md5String = [NSMutableString string];

    for (int i = 0; i< 16; i++) {

        [md5String appendFormat:@"%02x",mdc[i]];

    }

    return md5String;

}

/** md5 NB(牛逼的意思)加密*/

+ (NSString *)md5StringNB:(NSString *)str

{

    const char *myPasswd = [str UTF8String];

    unsigned char mdc[16];

    CC_MD5(myPasswd, (CC_LONG)strlen(myPasswd), mdc);

    NSMutableString *md5String = [NSMutableString string];

    [md5String appendFormat:@"%02x",mdc[0]];

    for (int i = 1; i< 16; i++) {

        [md5String appendFormat:@"%02x",mdc[i]^mdc[0]];

    }

    return md5String;

}

@end

 


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

-Advertisement-
Play Games
更多相關文章
  • 一.TCP/IP協議族 TCP/IP是一個協議族,通常分不同層次進行開發,每個層次負責不同的通信功能。包含以下四個層次:1. 鏈路層,也稱作數據鏈路層或者網路介面層,通常包括操作系統中的設備驅動程式和電腦中對應的網路介面卡。它們一起處理與電纜(或其他任何傳輸媒介)的物理介面細節。2. 網路層,.....
  • 今天下午,幫同事重寫了一個MySQL SQL語句,該SQL語句涉及兩張表,其中一張表是字典表(需返回一個欄位),另一張表是業務表(本身就有150個欄位,需全部返回),當然,欄位的個數是否合理在這裡不予評價。平時,返回的數據大概5w左右,系統尚能收到數據。但12月31日那天,數據量大概20w,導致SQ...
  • 原理:使用公用表表達式的遞歸查詢 傳送門:https://msdn.microsoft.com/zh-cn/library/ms186243 問題:指定一個父級,查詢出該父級下麵的所有節點。 舉例說明:存在表 ComponentI為子,PP_ComponentID為父。 CREATE PROCEDU...
  • 掃描與查找操作均是SQL Server從表或索引中讀取數據採用的迭代器,這些也是SQL Server支持的最基本的運算。幾乎在每一個查詢計劃中都可以找到,因此理解它們的不同是很重要的,掃描是在整張表上進行處理,而索引是在整個頁級上進行處理,而查找則返回特定謂詞上一個或多個範圍內的數據行。下麵讓我們....
  • 1、壓縮資料庫dbcc shrinkdatabase(dbname)2、轉移資料庫給新用戶已存在用戶許可權exec sp_change_users_login'update_one','newgame','oldname'go3、檢查備份集RESTORE VERIFYONLY from disk='E...
  • 又是想到什麼寫什麼系列……上次http://www.cnblogs.com/Gin-23333/p/5096638.html 寫了一下,今天補充點其它的1、在事務裡面的影響,臨時表可以被回滾 而表變數是不能回滾的。簡單的例子DECLARE @T AS TABLE(ID INT,Name NVARCH...
  • 不行,基本一重啟就不能再次訪問了,每次都要查問題,可以放棄Oracle麽,太垃圾了。1.操作系統版本用於安裝資料庫的操作系統鏡像文件名為:cn_windows_server_2012_r2_vl_with_update_x64_dvd_6052729.iso安裝DataCenter(帶GUI)版本虛...
  • 總結 View的z值由兩部分組成,elevation和translationZ. eleavation是靜態的成員,translationZ是用來做動畫。 Z = elevation + translationZ 在佈局中使用 android:elevation屬性去定義 在代碼中使用 View.s...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...