OC MD5加密方法

+(NSString*)md5String:(NSString*)sourceString{

? ? if(!sourceString){

? ? ? ? return nil;//判斷sourceString如果為空則直接返回nil。

? ? }

? ? //MD5加密都是通過C級別的函數來計算,所以需要將加密的字符串轉換為C語言的字符串

? ? constchar*cString = sourceString.UTF8String;

? ? //創建一個C語言的字符數組,用來接收加密結束之后的字符

? ? unsigned char result[CC_MD5_DIGEST_LENGTH];

? ? //MD5計算(也就是加密)

? ? //第一個參數:需要加密的字符串

? ? //第二個參數:需要加密的字符串的長度

? ? //第三個參數:加密完成之后的字符串存儲的地方

? ? CC_MD5(cString, (CC_LONG)strlen(cString), result);

? ? //將加密完成的字符拼接起來使用(16進制的)。

? ? //聲明一個可變字符串類型,用來拼接轉換好的字符

? ? NSMutableString *resultString = [[NSMutableString alloc]init];

? ? //遍歷所有的result數組,取出所有的字符來拼接

? ? for (int i = 0;i < CC_MD5_DIGEST_LENGTH; i++) {

? ? ? ? [resultString? appendFormat:@"%02x",result[i]];

? ? ? ? //%02x:x 表示以十六進制形式輸出,02 表示不足兩位,前面補0輸出;超出兩位,不影響。當x小寫的時候,返回的密文中的字母就是小寫的,當X大寫的時候返回的密文中的字母是大寫的。

? ? }

? ? //打印最終需要的字符

? ? NSLog(@"resultString === %@",resultString);

? ? returnresultString;

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容