Tag: 文件管理

如何保护iOS中的大数据文件?

策略是保护大文件,将文件数据分成小块并以随机顺序合并,因此文件将被破坏。 将这些随机顺序保存在安全的环境中 使用相同的随机顺序将文件分成多个块,并按原始顺序排列它们,以将原始文件转换为原始格式。 源代码。 在第一个例子中 我们使用了简单的加密和解密,因为它消耗了将近100%的cpu和无效的内存量。 在第二个例子中 我们使用了加密和解密文件的方式,这在内存消耗和CPU方面都给人留下了深刻的印象。 结果可以在左侧调试导航器中看到。 源代码。在模拟器中运行项目构建,如您所见,有两个按钮,此POC应用程序沙箱中的大文件将尝试对其进行加密和解密。 当我们点击加密按钮时,此操作将把大文件拆分为数据部分,然后将这些数据部分混洗并合并为一个文件。 保存这些改组顺序以使用加密算法保存环境。 如果任何人发现此文件,则损坏的文件将无法读取。 要以原始格式返回,请点击解密按钮。 动作时将按顺序重排,然后再次将此损坏的文件划分为相同的数据块,并按原始顺序合并它们以恢复原始顺序。 让我们检查一下源代码, –(IBAction)encryptFile:(UIButton *)sender { NSUInteger偏移量= 0; NSString * filepath = [[NSBundle mainBundle] pathForResource:LARGE_DATA_FILE ofType:LARGE_DATA_FILE_EXTENSION]; NSFileHandle * handle = [NSFileHandle fileHandleForReadingAtPath:filepath]; unsigned long long totolSize = [处理seekToEndOfFile]; NSUInteger chunkSize = 0; chunkSize =(NSUInteger)totolSize / 10; [handle seekToFileOffset:0]; NSData * data = […]

快速为Mac OS构建Vault App

开发iOS应用程序已经很长时间了,有一天我想为Mac OS开发一些实用程序应用程序。 在开发应用程序时,我意识到用于Mac OS应用程序开发的教程博客/视频的数量远远少于iOS应用程序开发的数量。 尽管人数少的原因很明显,但是我决定记下一个教训,就是这样。 在这个分为两部分的教程系列中,我们将构建一个Mac OS应用程序,即。 “保险柜”。 顾名思义,该应用程序将充当一个安全的保险库,其中用户可以隐藏各种文件,应用密码来锁定该应用程序,并且可以摆脱记住那些bash命令以进行隐藏/取消隐藏的操作。 在本部分的最后,这就是您应该开发的。 如果您直接要跳到完成的项目,请从这里克隆它。 首先打开Xcode,然后从New-> Project-> Mac OS中选择Cocoa App 。 创建项目后,打开Main.Storyboard 。 与iOS应用故事板不同,这对您来说似乎有些不同。 不仅有UIViewController,还有应用程序场景,窗口控制器场景和NSViewController 。 我们将在本系列后面的内容中看到“应用程序场景”和“窗口控制器场景”。 现在,让我们开始在提供的View Controller中创建UI。 从对象库中,拖动一个Box(NSBox)并将其放在视图控制器中。 将框重命名为“ ToolBarBox ”,并添加尾随,前导和顶部的约束,并在超级视图中使用“ 0”作为常量值,并在高度上添加约束(这将与superivew的高度成比例)。 为此,将约束添加为“等于Superview的高度”,并将乘数形式1的值更改为0.15 该框可被视为容器视图,其他视图(如“按钮”(用于“添加文件”,“设置”))将驻留在该视图中。 我们可以选择NSView代替NSBox,但是为了使事情变得简单,我选择了NSBox(与NSView不同,这里可以使用Attribute Inspector设置许多属性)。 与ToolBarBox相似,在对象库中添加另一个框,并将其命名为“ HeirarchyBox ”。 这将包含用于查看隐藏文件的按钮。 在此框旁,添加另一个框。 FileExplorerBox 。 这些盒子在一起将覆盖控制器的整个宽度。 就我而言,控制器的宽度和高度分别为1000和600(根据您的设计随意使用任何尺寸)。 HeirarchyBox和FileExplorerBox的顶部将接触ToolbarBox的底部,并且它们一起将覆盖整个宽度。 这样可以为HeirarchyBox提供约束。 虽然FileExplorerBox将在尾随,从底部到超级视图,从顶部到HeirarchyBox 。 我们已经完成了容器的工作,现在让我们在这些容器中添加更多的UI组件。 首先,将四个NSButton(用于图像,视频,音频和文档)从对象库拖到HierarchyBox中 ,并将它们嵌入到堆栈视图中。 在堆栈视图上方放置一个标签“ My Vault ”。 我们将对所有浏览器按钮(音频,视频,图像和文档)使用单一操作方法,因此,将标签分配给每个按钮(在本例中为101,102,103和104)。 […]