日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

sskeychain使用(轻量级框架)

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sskeychain使用(轻量级框架) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://www.ithao123.cn/content-2407927.html

?

keychain的主要功能就是幫助用戶安全地記住他的密碼,keychain保存的密碼文件都是經過加密的,其它人不能直接通過打開keychain的文件獲得保存在keychain中的密碼。在mac上可以安裝鑰匙串應用,一般情況下只有用戶正確輸入了mac系統的用戶名和密碼才能查看到用戶保存在keychain中的密碼。

?????Apple還提供了使用keychain保存密碼的API,如果應用程序使用了keychain?API來保存密碼,保存密碼的結果都可以在鑰匙串應用中查看到。Apple自帶的瀏覽器Safari就是用的keychain來保存密碼的,當用戶在一個網頁中輸入了用戶名和密碼之后,Safari會詢問用戶是否需要記住密碼。如果用戶選擇記住Safari則會采用keychain進行密碼的保存,在下次用戶再次訪問同一個網站的時候,系統會自動進行用戶名和密碼的填充。同時在鑰匙串程序中,可以看到Safari保存的針對特定網頁的用戶名,在輸入了系統登錄密碼之后可以查看到對應的密碼明文。

2.IOS中使用keychain和userdefaults保存數據的對比

?????userdefault適合保存一些輕量級的數據,使用userdefault保存的數據加載的時候要快一些,數據以明文的形式保存在.plist文件中,不適合用來保存密碼信息。文件的位置是Library/Application?Support/iPhone?Simulator/模擬器版本/Applications/應用對應的數字/Library/Preference/.plist文件

?????keychain采用的是將數據加密之后再保存到本地的,這樣對數據而言有更高的安全性,適合保存密碼之類的數據。數據保存的目錄是Library/Application?Support/iPhone?Simulator/模擬器版本/Library/Keychains/

3.sskeychain的使用

?????Apple針對keychain也提供了豐富的開發文檔說明,包括有Keychain?Services?Programming?Guide:文章中包含了使用mac和ios的keychain開發,首先介紹的是keychain的基本功能和概念,然后還有一個基本的例子介紹了基本的使用keychain?API的方法。在文章中還提到了Sample?Code:GenericKeyChain,是使用keychain的一個例子。

?????對于只需要保存用戶名和密碼的應用來說,SSKeyChain可能更加適合,它對keychain做了相應的封裝,接口相對來說更加簡單。文章介紹一個輕量級IOS框架:SSKeyChain中提到了github中的SSKeyChain,并且介紹了相應的使用方法。github下的有相應的源碼和簡介:SSKeyChain源碼。

?????按照說明可以將SSKeyChain的類文檔加入到xcode里面去,也可以直接進行在線的查看。

4.對SSKeyChain中的password,service,account的理解和使用

?????既然說到要用SSKeyChain來保存用戶名和密碼,那么需要使用到的SSKeyChain的功能應該就包括添加用戶名和密碼、刪除用戶名和密碼、查詢用戶名和密碼。

?????SSKeyChain的方法中涉及到的變量主要有三個,分別如這一小節的標題所示,是password、service、account。password、account分別保存的是密碼和用戶名信息。service保存的是服務的類型,就是用戶名和密碼是為什么應用保存的一個標志。比如一個用戶可以再不同的論壇中使用相同的用戶名和密碼,那么service保存的信息分別標識不同的論壇。由于包名通常具有一定的唯一性,通常在程序中可以用包的名稱來作為service的標識。

?????下面兩張圖分別展示了測試代碼和測試結果。setPassword的功能是保存account、service、password的,accoutsForService是提取對應于特定service的所有accouts,從返回結果可以看出是返回結果是Array類型的,并且Array的每一個元素是以key-value格式保存的數據。如果需要找出特定的用戶名的話,需要使用valueForKey@“acct”來定位用戶名。(由于在這之前keychain已經保存了一個數據,所以lastObject對應的下標是2.)

?????在具體的使用過程中,根據需求,可以用在同一個service中保存多個用戶名和密碼,在需要提取的時候提取最后一個,或者根據用戶名來提取特定密碼。也可以在同一個service中只保存一個用戶名和密碼,在需要保存新的用戶名和密碼的時候將原來保存的密碼刪除。

?

轉載于:https://www.cnblogs.com/now-or-never/p/4858833.html

總結

以上是生活随笔為你收集整理的sskeychain使用(轻量级框架)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。