Winfrom 调用Js加密的几种方法

关于winfrom调用js做加密神马的最讨厌了.    特别是做get 或Post请求的程序.
下面就介绍下吧.

1. 编译Js为dll,winfrom引用dll调用相应方法.
优点 : 直接编译成DLL,
缺点: 一般JS都被压缩,很多都无法直接编译成DLL...这个很操蛋.不推荐使用.
本帖隐藏的内容
附上编译js到dll的方法
            在环境变量里面-系统变量-path-点编辑,在末尾添加";.netframework(注意编译版本)绝对路径"注意前面还有个分号,系统变量中不能有中文,空格..O了.直接cmd jec 调用编译就可以了. 例如: "jsc /t:library checkUser.js"

具体用法请参照我写的一篇   蘑菇街互心小工具 源码.
传送门    http://www.sufeinet.com/forum.php?mod=viewthread&tid=2754



2.拼接js内容,具体请参考飞哥 登陆58同城的例子.
传送门    http://www.sufeinet.com/thread-1835-1-1.html
优点: 没用过,也不清楚..
缺点: 没用过,也不清楚..
个人认为这个方法还不错,配合这飞哥那个转换的工具自动append因该也挺方便..

3.调用Interop.MSScriptControl
优点: 经常使用这个.[自从知道以后]..比较方便,js格式化修改好以后直接存资源里.调用起来很方便.
缺点: 以前找不到win7 64位的dll,用起来总会报错...代码中附上的附件为win7 64位可用的.
本帖隐藏的内容
引用 Interop.MSScriptControl的DLL,
调用方法 :

       /// <summary>
       /// 密码加密
       /// </summary>
       /// <param name="pass"></param>
       /// <returns></returns>
       public string EncodePass(string pass)
       {
           ScriptControlClass sc = new ScriptControlClass();
           sc.UseSafeSubset = true;
           sc.Language = "JScript";
           sc.AddCode(Properties.Resources.QQRsa);  //从资源中读取js内容,也可以写成Js文件神马的.
           string str = sc.Run("rsaEncrypt", new object[] { pass }).ToString();
           return str;
       }
附上以前写的注册qq的源码,附带rsa算法.不过是旧版,上次和(♂)xiaotianbao 童鞋重新讨论了下发现总返回26,最近又比较忙也没重新再看.....


方法4: JSEngine  
优点:  不用引用其他东西.直接传递也挺方便.
缺点: 额,可能是我用的不熟,感觉有点繁琐.
使用方法同方法3里面的方法2文档. 另♂[北京]SillyPGM 在群(总群)中有共享文件,我附件也有带,就不重新上传附件了.

方法5: 调用浏览器控件获得页面方法
这个就不推荐了....速度慢,要等到页面加载完成才会去执行调用,不然还报错...
优点: 毕竟是原生的...





总结下如下 :

                  我个人比较喜欢方法3,用的也比较多. 方法4的用的少,就觉得比较新鲜,其他好像也没觉得啥.可能用的比较少的原因吧...用4多的筒子可以来介绍下优缺点...都是自己用了以后总结的,肯定有不对的地方,欢迎指正..欢迎批评...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值