支援資料庫加密
// 產生隨機金鑰
nsmutabledata *key = [nsmutabledata datawithlength:64];
secrandomcopybytes(ksecrandomdefault, key.length, (uint8_t *)key.mutablebytes);
// 開啟加密檔案
rlmrealmconfiguration *config = [rlmrealmconfiguration defaultconfiguration];
config.encryptionkey = key;
nserror *error = nil;
rlmrealm *realm = [rlmrealm realmwithconfiguration:config error:&error];
if (!realm)
複製**
realm 支援在建立 realm 資料庫時採用64位的金鑰對資料庫檔案進行 aes-256+sha2 加密。這樣硬碟上的資料都能都採用aes-256來進行加密和解密,並用 sha-2 hmac 來進行驗證。每次您要獲取乙個 realm 例項時,您都需要提供一次相同的金鑰。 缺點:加密過的 realm 只會帶來很少的額外資源占用(通常最多隻會比平常慢10%)。
通知
// 獲取 realm 通知
token = [realm addnotificationblock:^(nsstring *notification, rlmrealm * realm) ];
[token stop];
// 移除通知
[realm removenotification:self.token];
複製**
realm 例項將會在每次寫入事務提交後,給其他執行緒上的 realm 例項傳送通知。一般控制器如果想一直持有這個通知,就需要申請乙個屬性,strong持有這個通知。 Realm資料庫拾遺
支援資料庫加密 產生隨機金鑰 nsmutabledata key nsmutabledata datawithlength 64 secrandomcopybytes ksecrandomdefault,key.length,uint8 t key.mutablebytes 開啟加密檔案 rlmre...
c 拾遺 處理資料
1 變數命名規則 按照倒數第二點方式進行命名不會導致編譯器錯誤,但會導致不確定性。而最後一點某些平台有長度限制 2 cout十進位制輸出其他進製 cout預設通過十進位制顯示,cout include int main 3 const與 define 使用const是定義乙個常值變數,一般格式為co...
Core Data 資料遷移拾遺
首先感謝掘金 貓d 的推薦,很多朋友關注了我,由於剛開始寫技術文章,並沒有寫出什麼真正的乾貨,深感愧疚。今天討論的是 core data 資料遷移中的一些細節問題,參閱了不少資料,進行了反覆的驗證,可以說填上了不少坑。本文討論的範圍僅限於自動觸發的自定義遷移情況,其他情況後續再補充。在遷移測試前,先...