带有修改器CRYPT_ARCH_ZIP的CryptDecode - 如何使用? - 页 4 12345678910 新评论 Mikhail Filimonov 2015.03.28 19:18 #31 sanyooooook: 嗯,它是这样做的,然后它将其与常规存档器的输出进行比较那么问题出在哪里?如果由CryptEncode()创建的ZIP被解码,不就很清楚问题所在了吗? Mikhail Filimonov 2015.03.28 19:36 #32 MQ有自己的格式! string file_name = "GAZR-6.15.dat"; uchar array[]; uchar key[]; uchar result[]; int a_handle = FileOpen( file_name, FILE_READ|FILE_BIN ); if ( a_handle != INVALID_HANDLE ) { uint array_size = FileReadArray( a_handle, array ); if ( array_size > 0 ) { ArrayResize( key, array_size ); for ( int i = 0; i < int( array_size ); i++ ) key[i] = 0; int a_enc = CryptEncode( CRYPT_ARCH_ZIP, array, key, result ); int b_handle = FileOpen( "test.zip", FILE_WRITE|FILE_BIN ); if ( b_handle != INVALID_HANDLE ) { FileWriteArray( b_handle, result ); FileClose( b_handle ); } FileClose( a_handle ); } } int handle = FileOpen( "test.zip", FILE_READ|FILE_BIN ); if ( handle != INVALID_HANDLE ) { uint array_size = FileReadArray( handle, array ); FileClose( handle ); Print( "Read totals: ", array_size ); ArrayResize( key, array_size ); for ( int i = 0; i < int( array_size ); i++ ) key[i] = 0; //ArrayResize( result, array_size, array_size * 100 ); ResetLastError(); int d = CryptDecode( CRYPT_ARCH_ZIP, array, key, result ); if ( d < 1 ) { Print( GetLastError() ); } }如果你从MQL5创建一个存档,一切都能正常工作但这个档案不能用标准的ZIP解压!!!。 Vasiliy Sokolov 2015.03.28 19:53 #33 Mikalas:MQ有自己的格式!如果你从MQL5创建一个存档,一切都能正常工作但这个档案不是用标准的ZIP来解压的!!。迈克尔,仔细阅读亚历山大的帖子。sanyooooook: ZIP归档是一个整体结构,该函数对一个数组进行归档/解档,也就是说,你应该只把一个准备好的数组放在那里,然后再去归档。粗略地说,它只对归档功能的输出进行解档。 也就是说,没有来自MQ的本地格式。只是CryptEncode函数 给你的只是压缩文件的一部分,其余的你必须自己创建。但问题是,在标准zip存档器和CryptEncode之间,甚至连档案的一部分都不匹配。总之,等待周一的到来。只有MQ能给我们提供我们所缺少的信息。 Mikhail Filimonov 2015.03.28 19:58 #34 C-4:米哈伊尔,仔细阅读亚历山大的帖子。 因此,没有来自MQ的专有格式。只是CryptEncode函数给你的只是压缩文件的一部分,其余的你必须自己创建。但问题是,在标准zip存档器和CryptEncode之间,甚至连档案的一部分都不匹配。无论如何,我们正在等待星期一。只有MQ能给我们提供我们所缺少的信息。所以,跳过标题,只读数据吧!Google it = PKWare数据压缩库头 Alexandr Bryzgalov 2015.03.28 19:59 #35 Mikalas:那么问题出在哪里?如果由CryptEncode() 创建的ZIP能解码,那不就很清楚问题所在了吗? 在CryptoDecode之后的内容和普通存档器之后的内容的结构是不同的 Alexandr Bryzgalov 2015.03.28 20:01 #36 这里是我做的一些实验。 在 文件中:快速的棕色狐狸跳过懒惰的狗快速的棕色狐狸跳过懒惰的狗在 文件中:快速的棕色狐狸跳过懒惰的狗 存档:Sdfgghghjdfggfghjghghjk,g Alexandr Bryzgalov 2015.03.28 20:02 #37 事实证明,MQ有自己的输出结构。 Mikhail Filimonov 2015.03.28 20:02 #38 Vasiliy!MQL5创建一个没有头的ZIP!因此,它在阅读时不会跳过它。搜索= PKWare数据压缩库头http://en.wikipedia.org/wiki/Zip_(file_format)MQ只有一种压缩方法,所以如果一个ZIP使用不同的压缩方法,你将无法解压它。也就是说,并不是所有的ZIP档案都能为你所用。 Vasiliy Sokolov 2015.03.28 20:28 #39 sanyooooook: MQ有自己的输出结构。它不可能是 "自己的",否则它与ZIP完全没有关系。打包数据的结构会因压缩率的不同而不同,它们不可能没有区别。因此,CryptDecode 必须以某种方式由一个描述特定压缩率和其他必要参数的密钥管理。只有MQ知道如何正确配置密钥。Mikalas: Vasiliy!MQL5创建一个没有头的ZIP!米哈伊尔,你需要明白你在说什么。问题不是出在文件头或文件格式上。仔细阅读这篇文章。 Mikhail Filimonov 2015.03.28 20:34 #40 C-4:它不可能是 "自己的",否则它与ZIP完全没有关系。打包数据的结构会因压缩率的不同而不同,它们不可能没有区别。因此,CryptDecode必须以某种方式由一个描述具体压缩率和其他参数的密钥来管理。只有MQ知道如何正确配置密钥。米哈伊尔,你需要了解问题是什么。问题不是出在文件头或文件格式上。仔细阅读该主题。然后正确说明你想要什么。在你的主题的开头,你有代码。你阅读了档案的全部内容,并试图将其与标题 一起解码!任何用标准打包器创建的ZIP档案,都有一个HEADER!MQL5解包程序不跳过头。因此,你不能解压数据。那么,请解释一下。最初,你想要什么? 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
嗯,它是这样做的,然后它将其与常规存档器的输出进行比较
那么问题出在哪里?
如果由CryptEncode()创建的ZIP被解码,不就很清楚问题所在了吗?
MQ有自己的格式!
如果你从MQL5创建一个存档,一切都能正常工作
但这个档案不能用标准的ZIP解压!!!。
MQ有自己的格式!
如果你从MQL5创建一个存档,一切都能正常工作
但这个档案不是用标准的ZIP来解压的!!。
迈克尔,仔细阅读亚历山大的帖子。
ZIP归档是一个整体结构,该函数对一个数组进行归档/解档,也就是说,你应该只把一个准备好的数组放在那里,然后再去归档。
粗略地说,它只对归档功能的输出进行解档。
也就是说,没有来自MQ的本地格式。只是CryptEncode函数 给你的只是压缩文件的一部分,其余的你必须自己创建。但问题是,在标准zip存档器和CryptEncode之间,甚至连档案的一部分都不匹配。
总之,等待周一的到来。只有MQ能给我们提供我们所缺少的信息。
米哈伊尔,仔细阅读亚历山大的帖子。
因此,没有来自MQ的专有格式。只是CryptEncode函数给你的只是压缩文件的一部分,其余的你必须自己创建。但问题是,在标准zip存档器和CryptEncode之间,甚至连档案的一部分都不匹配。
无论如何,我们正在等待星期一。只有MQ能给我们提供我们所缺少的信息。
所以,跳过标题,只读数据吧!
Google it = PKWare数据压缩库头
那么问题出在哪里?
如果由CryptEncode() 创建的ZIP能解码,那不就很清楚问题所在了吗?
这里是我做的一些实验。
在 文件中:快速的棕色狐狸跳过懒惰的狗快速的棕色狐狸跳过懒惰的狗
在 文件中:快速的棕色狐狸跳过懒惰的狗
存档:Sdfgghghjdfggfghjghghjk,g
Vasiliy!
MQL5创建一个没有头的ZIP!
因此,它在阅读时不会跳过它。
搜索= PKWare数据压缩库头
http://en.wikipedia.org/wiki/Zip_(file_format)
MQ只有一种压缩方法,所以
如果一个ZIP使用不同的压缩方法,你将无法解压它。
也就是说,并不是所有的ZIP档案都能为你所用。
MQ有自己的输出结构。
它不可能是 "自己的",否则它与ZIP完全没有关系。
打包数据的结构会因压缩率的不同而不同,它们不可能没有区别。因此,CryptDecode 必须以某种方式由一个描述特定压缩率和其他必要参数的密钥管理。只有MQ知道如何正确配置密钥。
Vasiliy!
MQL5创建一个没有头的ZIP!
米哈伊尔,你需要明白你在说什么。问题不是出在文件头或文件格式上。仔细阅读这篇文章。
它不可能是 "自己的",否则它与ZIP完全没有关系。
打包数据的结构会因压缩率的不同而不同,它们不可能没有区别。因此,CryptDecode必须以某种方式由一个描述具体压缩率和其他参数的密钥来管理。只有MQ知道如何正确配置密钥。
米哈伊尔,你需要了解问题是什么。问题不是出在文件头或文件格式上。仔细阅读该主题。
然后正确说明你想要什么。
在你的主题的开头,你有代码。
你阅读了档案的全部内容,并试图将其与标题 一起解码!
任何用标准打包器创建的ZIP档案,都有一个HEADER!
MQL5解包程序不跳过头。
因此,你不能解压数据。
那么,请解释一下。
最初,你想要什么?