首页
短网址 ea.dog
数据
集锦
交易员热榜
VIP
加密
休闲
✓
使用“Bing”搜索
✓
使用“Google”搜索
✓
使用“百度”搜索(推荐)
✓
使用“搜狗”搜索
✓
站内搜索
注册登陆
财经日历
市场快讯
实时波动
投机情绪
大盘云图
今日热点
世界时间
俄罗斯方块
五子棋
坦克大战
星际战争
更多
每日壁纸
运动下吧
坦克
外汇ea之家
»
节点
›
外汇指标区
›
mql4编程中文手册
›
用MQL4实现MD5加密
赞
评论
收藏
分享
用MQL4实现MD5加密
老周
|
1880 人阅读
|
0 人评论
|
2016-10-31
在用MQL4进行金融交易的时候,经常需要发送账号信息到服务器。这些密码一般用明文发送,很容易被拦截,如果真实的账户信息被盗,后果不堪设想。钱的问题都不是小问题。今天下午,我老婆去上海了,闲着没有事情,就贡献一个吧。
MD5 的算法非常的简单,如果想了解相关的算法请参考:RFC 1321。我的算法 基本上 遵照这个标准进行编写。
具体代码在: http://code.google.com/p/md5-in-mql4/
这个算法的效率简单测试了一下,大概是C原始版本的 1/10 的速度。
这个算法只是针对字符串的MD5 进行了优化,字符串可以支持 MQL4 中最长的字符串。如果是对大文件进行MD5 进行加密,请稍微改进一下这个算法,我在设计的时候,也做了考虑,你可以很快的转换过来。
对于脚本语言实现 MD5 加密,最麻烦的就是 右移的问题,请参考文章:
用 int 类型实现 unsinged int 形式 的 右移操作
。PHP 中,可以类似的进行处理,但是JS 中,提供了 >>> 操作符,不需要用我的方法。
如果,你想用其他的脚本语言来实现,如JS,要注意 加法的安全性,我预留了一个函数:AddUnsigned 这个函数,对MQL4 可以直接加,但是对某些JS的解析器
可能会出现问题,但是修复的方法也很简单,就是把 前 16位相加,然后 把后16位进行相加。注意前16位的进位:
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
(msw << 16) | (lsw & 0xFFFF);
还有,如果,你是网上下载过来的算法,还要注意测试 中文情况下的准确性,很多算法没有考虑 中文。
虽然,各种语言差别不大,但是,也要考虑语言的差异,做到性能最优化。
现在网上有一些字典破解MD5的网站,其实,现在你不要怕他们了,你把算法中 初始的 a, b ,c, d 改一下,就变成一种新的加密算法了。
这就是你自己写算法的好处。
""
打赏
还没有人打赏,支持一下
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
高级模式
您需要登录后才可以回帖
登录
|
注册
QQ登录
微信登录
发表评论
EA之家评论守则
🔥一元一月的高品质VPS,真香!
广告
VIP专享
更多
NO
1
胜率80%的箭头指标
NO
2
Octotrader AI MT4 基于AI,带账户恢复功能
NO
3
Bonnitta EA非常先进的秘密交易算法
NO
4
Firebrand 没有未来函数,帮你每天都能赚钱
NO
5
FXArcanum独一无二的交易系统,没有未来函
NO
6
Foreks signal 非常精准的箭头交易系统
NO
7
Diamond Price Action 裸K交易买卖提示指标
NO
8
售价37美金的Firebrand交易系统,带箭头报
老周
发表主题