Objective-C,如何对NSString进行模糊处理或加密?

时间:2012-06-11 05:42:11

标签: objective-c encryption obfuscation

我的代码中有一个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])

    ... .

- 感谢任何帮助,谢谢。

2 个答案:

答案 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作为字符串。不确定这是否足以满足您的需求,但它对我有用。

希望这有帮助!