我的代码中有一个NSString(这是一个文件的路径),我想以某种方式进行模糊处理或加密,
但仍然可以在需要时轻松调用文件路径。 我搜索了一个答案,但我所看到的一切都是专门针对iOS或者看起来过于复杂。
我只想将它用于这样的东西:
- (void)method {
NSString *obfuscate = @"/path/to/something/secret"; // encrypt or obfuscate
[self manageFiles:obfuscate]
- (void)manageFiles(NSString *)obfuscate {
NSFileManager *files = [[NSFileManager alloc] init];
if ([files fileExistsAtPath:obfuscate])
... .
- 感谢任何帮助,谢谢。
答案 0 :(得分:2)
(这是一个老问题,但无论如何我都会回复)
在Obj-C中没有这样的方法。 Obj-C足够动态,可以捕获和拦截任何这些方法。不要在绝对需要保密的应用程序中运送任何东西。如果您的应用程序是在越狱手机上运行,或者在盗版网站上提供,那么它已经暴露并且它的内存内容被丢弃。所有上述方法都将解码后的数据复制到暴露的主存储器中。
请参阅: https://www.youtube.com/watch?v=Ii-02vhsdVk
上述这些方法都不是实际安全的。同样,不要在应用程序中嵌入这些类型的东西,并确保它们实际上是安全的。
答案 1 :(得分:1)
我过去做过的混淆字符串的事情就是这样:
-(NSString*)myString {
NSString *string = nil;
string = [@"ozzzzzzzzzzzzhazzzzzzzizzzzzz" stringByReplacingOccurrencesOfString:@"z" withString:@""];
return string;
}
它会做的是删除字母z
的所有出现,并以ohai
作为字符串。不确定这是否足以满足您的需求,但它对我有用。
希望这有帮助!