OC直截了当的调用JS文件中的方法_LD

先说下碰见的问题

  • 之前app使用H5写的 加密方式用的des加密 用到了三个key去加密 百度半天发现OC里的des加密都是一个key的,由于对加密这块并不娴熟,搞个MD5加密还凑合 🙄
  • 最终为了最大限度的减少后台和我的工作量 决定直接调用以前js写的加密方法
  • OC调用js 或者js调用OC原生的方法 网上资料长篇累牍。。。但多数是通过H5与OC原生去相互调用
  • 但是我不可能去搞个H5的文件去桥接一下的 太复杂了就 而且也相当冗余

最终的做法是直接使用系统的 <JavaScriptCore/JavaScriptCore.h>库去搞

  • 实现代码如下
#import <JavaScriptCore/JavaScriptCore.h>
@property(nonatomic,strong)JSContext * context;
#pragma mark --- 返回des加密后的值
-(NSString*)returnDesValueWithStr:(NSString*)string
{
    NSString * str = [[NSBundle mainBundle]pathForResource:@"des" ofType:@"js"];
    NSString * jsStr = [NSString stringWithContentsOfFile:str];
    self.context = [[JSContext alloc] init];
    [self.context evaluateScript: jsStr];
    JSValue *addJS = self.context[@"strEnc"];
    JSValue *sum = [addJS callWithArguments:@[string,@"firstKey;",@"secondKey",@"threeKey"]];
    return [NSString stringWithFormat:@"%@",sum];
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容