草庐IT

Secure-NSUserDefaults

全部标签

swift - NSUserDefaults 中的增量整数

是否有更优雅的方法来增加存储在用户默认值中的计数器?letdefaults=NSUserDefaults.standardUserDefaults()defaults.setInteger(defaults.integerForKey("counter")+1,forKey:"counter") 最佳答案 不,但如果你经常这样做,它可能会成为一个很好的扩展,就像这样。extensionNSUserDefaults{classfuncincrementIntegerForKey(key:String){letdefaults=stan

objective-c - 核心数据或 NSUserDefaults 以避免操纵用户?

保存用户无法操作或查看的数据(例如密码)的最佳方式是什么?NSUserDefaults被保存在Mac上的一个文件中,用户可以操作和查看。核心数据怎么样?这是否也保存在文件中,或者用户是否可以通过某种方式查看CoreData? 最佳答案 NSUserDefaults绝对不应该用于存储密码,因为它以纯文本形式存储。核心数据可以加密,但默认情况下不是。它将所有数据存储在一个非常易于阅读的SQLite数据库中。密码应存储在系统钥匙串(keychain)中。可以使用SecurityFramework访问钥匙串(keychain).有几个库可以

swift - 将字典保存到 NSUserDefaults

classAddElementVC:UIViewController{//textfieldsandsomeotherfunctionsaredefinedhere@IBActionfuncaddElement(sender:UIBarButtonItem){letnewElement=Element(/*propertiesaredefinedhere*/)vartheDict=NSUserDefaults.standardUserDefaults().dictionaryForKey(tableViewData)as[String:[Element]]ifvartheArray=t

ios - 从 NSUserDefaults 中删除 key 不起作用

我的应用程序中有注销功能。似乎是一个奇怪的问题,它不保存NSUserDefaults。在这里我只是想删除key。但是,如果我在注销后再次打开应用程序,它会发现此key仍在NSUserDefaults中。funcdidLogout(){//Clearuserdataletsettings=NSUserDefaults.standardUserDefaults()settings.removeObjectForKey("userData")settings.synchronize()unregisterForRemoteNotifications()openLoginScreen()}知道

swift - 我可以在 NSUserDefaults 中存储多少数据?

这个问题在这里已经有了答案:IsthereanylimitinstoringvaluesinNSUserDefaults?(10个答案)关闭6年前。我知道NSUserDefaults不适合存储大量数据,但我不知道实际限制是多少。这让我想到......1.是否有推荐的大小限制?2.有没有办法查看我存储的数据大小?在这种情况下,我正在考虑使用NSUserDefaults来存储字符串数组。

ios - NSUserDefaults standardUserDefaults 不适用于扩展

我在开发人员门户中将应用程序组添加到我的应用程序ID,并在我的配置文件中使用该应用程序ID。我在Xcode中的产品标识符设置为该应用程序ID。在我的应用委托(delegate)中,我从didFinishLaunchingWithOptions调用它NSUserDefaults.standardUserDefaults().setObject("hey",forKey:"TEST")NSUserDefaults.standardUserDefaults().synchronize()在我的键盘应用程序扩展中,我称之为:iflettest=NSUserDefaults.standardUs

ios - 在 NSUserDefaults 中存储自定义对象时应用程序崩溃

我有一个名为User的自定义类,符合NSCoding协议(protocol)。但是当我试图将它存储在NSUserDefaults中时,我得到了这个错误:Propertylistinvalidforformat:200(propertylistscannotcontainobjectsoftype'CFType')还有这个警告:NSForwarding:warning:object0x7f816a681110ofclass'Shikimori.User'doesnotimplementmethodSignatureForSelector:--troubleaheadUnrecognize

ios - Swift:不保存 NSUserDefaults.standardUserDefaults 值

我试图在NSUserDefaults中保存键值,但没有被保存。这是我的代码:funcsaveData(){letuserDefaults=NSUserDefaults.standardUserDefaults()userDefaults.setObject("blablabla",forKey:"data")userDefaults.synchronize()}你们知道为什么这个数据没有被保存吗?非常感谢您的帮助。 最佳答案 swift2.x:根据Apple消息来源:publicfuncobjectForKey(defaultNam

ios - NSUserDefaults(套件名称 :) on iOS 9 and WatchOS 2 - not working?

我以前做过,但似乎没有任何效果。这是我的代码:在iOS应用中保存letgroupDefaults=NSUserDefaults(suiteName:"group.company.appSharedDefaults")groupDefaults?.setObject(theArray,forKey:"theKey")groupDefaults?.synchronize()阅读(适用于iOS但不适用于WatchOS2)letgroupDefaults=NSUserDefaults(suiteName:"group.company.appSharedDefaults")ifgroupDefa

【论文笔记】Boros: Secure Cross-Channel Transfers via Channel Hub

原文:https://arxiv.org/pdf/1911.12929.pdf学习一下人家的论文怎么写的摘要:针对支付网络通道的主要问题——多条路由的交易需要路径上节点锁定一笔交易,来辅助完成这笔跟他无关的交易,这样的设计一方面限制了中间节点的资金流动性,一方面有时会导致死锁进而交易失败。多跳支付的路径越长,以上问题越明显。论文设计了一个channelhub,是paymenthub(Nocust)的拓展。在一个hub内的支付通道之间可以直接进行交易,作者设计了一个Boros协议,让跨支付通道的交易可以依赖channelhub,安全快速地进行。作者还使用UC框架对协议进行了形式化安全证明,提出了