【问题标题】:ARC4 Encryption through javascript in iOS在 iOS 中通过 javascript 进行 ARC4 加密
【发布时间】:2015-01-15 08:59:38
【问题描述】:

写完这段代码我没有得到任何结果。它只返回空白。

[self.webview loadHTMLString:@"<script src=\"http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/rc4.js\"></script>"
                baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];

NSString *function = [[NSString alloc] initWithFormat: @"CryptoJS.RC4.encrypt(%@, %@)",@"abhijit",@"TestKey"];
NSString *result = [self.webview stringByEvaluatingJavaScriptFromString:function];

NSLog(@"----%@",result);

在这方面或其他方面的实施是否有一些错误?请提出建议..

试图在 ios 应用中实现这个http://uttool.com/encryption/RC4/default.aspx

【问题讨论】:

    标签: javascript ios objective-c encryption javascriptcore


    【解决方案1】:

    UIWebView 异步加载。在调用 loadHTMLString:baseURL: 之后,您正在加载的页面内容不会立即实现。您需要评估 web 视图委托的 webViewDisFinishLoad: 内的 JavaScript 代码。

    不过,我建议在这种情况下直接使用 JavaScriptCore。只需创建一个 JSContext,评估其中的 rc4.js 的内容,其中的所有内容都将立即在 JSContext 中可用。当然,只有当您以 iOS 7+ 为目标时才有效。

    但是,鉴于您需要进行加密,我建议(我不能强调这一点)使用 CommonCrypto 框架。好像支持基于this snippet的RC4。

    【讨论】:

    • 更好的是,使用 AES,RC4 被认为是不安全的,应该用于新系统。
    猜你喜欢
    • 2016-12-04
    • 1970-01-01
    • 2012-12-06
    • 2012-07-11
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多