国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - iOS中MD5加密算法的介紹和使用

iOS中MD5加密算法的介紹和使用

2021-02-04 15:47LYSNote IOS

MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文章就給大家介紹了iOS中MD5加密算法,已經iOS中MD5加密算法的使用,有需要的

前言

軟件開發過程中,對數據進行加密是保證數據安全的重要手段,常見的加密有Base64加密和MD5加密。Base64加密是可逆的,MD5加密目前來說一般是不可逆的。

MD5生成的是固定的128bit,即128個0和1的二進制位,而在實際應用開發中,通常是以16進制輸出的,所以正好就是32位的16進制,說白了也就是32個16進制的數字。

MD5主要特點是 不可逆,相同數據的MD5值肯定一樣,不同數據的MD5值不一樣(也不是絕對的,但基本是不能一樣的)。

MD5算法還具有以下性質:

      1、壓縮性:任意長度的數據,算出的MD5值長度都是固定的。

      2、容易計算:從原數據計算出MD5值很容易。

      3、抗修改性:對原數據進行任何改動,哪怕只修改1個字節,所得到的MD5值都有很大區別。

      4、弱抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(即偽造數據)是非常困難的。

      5、強抗碰撞:想找到兩個不同的數據,使它們具有相同的MD5值,是非常困難的。

      6、MD5加密是不可解密的,但是網上有一些解析MD5的,那個相當于一個大型的數據庫,通過匹配MD5去找到原密碼。所以,只要在要加密的字符串前面加上一些字母數字符號或者多次MD5加密,這樣出來的結果一般是解析不出來的。

MD5的應用:

由于MD5加密算法具有較好的安全性,而且免費,因此該加密算法被廣泛使用

大多數的登錄功能向后臺提交密碼時都會使用到這種算法

注意點:

      (1)一定要和后臺開發人員約定好,MD5加密的位數是16位還是32位(大多數都是32位的),16位的可以通過32位的轉換得到。

      (2)MD5加密區分 大小寫,使用時要和后臺約定好。

MD5解密:

解密網站:http://www.cmd5.com/

為了讓MD5碼更加安全 涌現了很多其他方法 如加鹽。 鹽要足夠長足夠亂 得到的MD5碼就很難查到。

終端代碼:$ echo -n abc|openssl md5 給字符串abc加密、

蘋果包裝了MD5加密的方法,使用起來十分的方便。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#import@interface MD5Encrypt : NSObject
// MD5加密
/*
*由于MD5加密是不可逆的,多用來進行驗證
*/
// 32位小寫
+(NSString *)MD5ForLower32Bate:(NSString *)str;
// 32位大寫
+(NSString *)MD5ForUpper32Bate:(NSString *)str;
// 16為大寫
+(NSString *)MD5ForUpper16Bate:(NSString *)str;
// 16位小寫
+(NSString *)MD5ForLower16Bate:(NSString *)str;
@end
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#import "MD5Encrypt.h"
#import <CommonCrypto/CommonDigest.h>
 
@implementation MD5Encrypt
 
#pragma mark - 32位 小寫
+(NSString *)MD5ForLower32Bate:(NSString *)str{
 
  //要進行UTF8的轉碼
  const char* input = [str UTF8String];
  unsigned char result[CC_MD5_DIGEST_LENGTH];
  CC_MD5(input, (CC_LONG)strlen(input), result);
 
  NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
  for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
    [digest appendFormat:@"%02x", result[i]];
  }
 
  return digest;
}
 
#pragma mark - 32位 大寫
+(NSString *)MD5ForUpper32Bate:(NSString *)str{
 
  //要進行UTF8的轉碼
  const char* input = [str UTF8String];
  unsigned char result[CC_MD5_DIGEST_LENGTH];
  CC_MD5(input, (CC_LONG)strlen(input), result);
 
  NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
  for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
    [digest appendFormat:@"%02X", result[i]];
  }
 
  return digest;
}
 
#pragma mark - 16位 大寫
+(NSString *)MD5ForUpper16Bate:(NSString *)str{
 
  NSString *md5Str = [self MD5ForUpper32Bate:str];
 
  NSString *string;
  for (int i=0; i<24; i++) {
    string=[md5Str substringWithRange:NSMakeRange(8, 16)];
  }
  return string;
}
 
 
#pragma mark - 16位 小寫
+(NSString *)MD5ForLower16Bate:(NSString *)str{
 
  NSString *md5Str = [self MD5ForLower32Bate:str];
 
  NSString *string;
  for (int i=0; i<24; i++) {
    string=[md5Str substringWithRange:NSMakeRange(8, 16)];
  }
  return string;
}
 
@end

總結

以上就是iOS中MD5加密算法的介紹和使用,希望能對各位iOS開發者們能有所幫助,如果有疑問大家可以留言交流。

原文鏈接:http://www.jianshu.com/p/02a2946d4e97

延伸 · 閱讀

精彩推薦
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
主站蜘蛛池模板: 日本中文字幕在线看 | 国产精品久久久久久久久 | 91精品综合久久久久久五月天 | 日韩免费在线观看视频 | 亚洲综合第一页 | 99精品一区二区 | 国产精品久久久久久久久久久久 | 午夜国产精品视频 | 99视频精品| 久久久蜜臀 | 中文字幕免费在线观看视频 | 亚洲乱码一区二区三区在线观看 | 亚洲欧洲久久 | 亚洲午夜视频在线观看 | 黄色一级视频 | 国产乱码精品一区二区三区中文 | 成人午夜视频在线 | 免费毛片网站 | 午夜精| 综合久| 免费看黄色电影 | 中文字幕一区二区三区四区五区 | 国产一区二区免费 | 欧美v片| 日本理论在线 | 久久久精品国产 | 国产黄色片免费观看 | 91精品国产91久久久久久最新 | 永久91嫩草亚洲精品人人 | 日本久久免费 | 久久久久久国产精品 | 激情五月婷婷基地 | 91亚洲国产成人久久精品网站 | 先锋av资源 | 日韩欧美一区二区在线观看视频 | 久久免费精品 | 亚洲综合精品久久 | 91在线播放视频 | 欧美激情久久久 | 欧美一区二区三区免费 | 在线欧美一区 |