求助,下面这段易语言代码转成C#该怎么写

zhaogenxin 2019-01-13 06:01:56
.子程序 ComputeOfficial, 文本型,
.参数 ranKey, 字节集
.参数 tgtgt_fix, 字节集
.参数 tgtgtKey, 字节集
.局部变量 keyMd5, 字节集
.局部变量 sigPicMd5, 字节集
.局部变量 newMd5, 字节集
.局部变量 tgtgtMd5, 字节集
.局部变量 totalMd5, 字节集
.局部变量 tmpMd5, 字节集
.局部变量 loopMd5, 字节集
.局部变量 i, 整数型
.局部变量 result, 字节集
.局部变量 tmpD0, 整数型
.局部变量 tindex, 整数型
.局部变量 _key, 字节集
.局部变量 preBytes, 文本型
.局部变量 backBytes, 字节集
.局部变量 pack, Packet
.局部变量 computeKey, 字节集
.局部变量 tmpD4, 整数型
.局部变量 backBytes_str, 文本型

keyMd5 = 取空白字节集 (16)
sigPicMd5 = 取空白字节集 (16)
newMd5 = 取空白字节集 (16)
tgtgtMd5 = 取空白字节集 (16)
totalMd5 = 取空白字节集 (64)
tmpMd5 = 取空白字节集 (16)
loopMd5 = 取空白字节集 (16)
result = 取空白字节集 (16)
_key = 取空白字节集 (16)
' preBytes = 取空白字节集 (16)
backBytes = 取空白字节集 (8)
computeKey = 取空白字节集 (128)
keyMd5 = Md5_ (ranKey)
sigPicMd5 = Md5_ (tgtgt_fix)
newMd5 = ComputeNewKey (sigPicMd5, keyMd5)
tgtgtMd5 = Md5_ (tgtgtKey)
CopyTo (keyMd5, totalMd5, 0)
CopyTo (sigPicMd5, totalMd5, 16)
CopyTo (newMd5, totalMd5, 32)
CopyTo (tgtgtMd5, totalMd5, 48)
tmpMd5 = Md5_ (totalMd5)
CopyTo (tmpMd5, loopMd5, 0)
.计次循环首 (10, i)
loopMd5 = Md5_ (loopMd5)
.计次循环尾 ()
CopyTo (loopMd5, totalMd5, 0)
.计次循环首 (4, tmpD0)
tindex = (tmpD0 - 1) × 16
Copy (totalMd5, tindex, _key, 0, 16)
preBytes = TeaEncrypt (BytesToHex (tmpMd5), BytesToHex (_key))
Copy (tmpMd5, 8, backBytes, 0, 8)
backBytes_str = TeaEncrypt (BytesToHex (backBytes), BytesToHex (_key))
pack.PutBytes (preBytes)
pack.PutBytes (backBytes_str)
computeKey = HexToBytes (pack.GetPacket ())
tmpD4 = tmpD0
.判断循环首 (tmpD4 ≤ 16)
result [tmpD4] = 到字节 (位异或 (result [tmpD4], computeKey [tmpD4]))
tmpD4 = tmpD4 + 1
.判断循环尾 ()
.计次循环尾 ()
result = Md5_ (result)
' 信息框 (BytesToHex (result), 0, , )
返回 (BytesToHex (result))
...全文
220 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 zhaogenxin 的回复:
.计次循环首 (10, i) loopMd5 = Md5_ (loopMd5) .计次循环尾 () 是易语言不会啊,现在主要是不理解这句在C#里该怎么写
看上去是循环10次,迭代执行同一个代码。 如果是“易语言不会”,那你不了解它的功能,此时你要它何用?
张天星 2019-01-13
  • 打赏
  • 举报
回复
引用 4 楼 zhaogenxin 的回复:
.计次循环首 (10, i)
loopMd5 = Md5_ (loopMd5)
.计次循环尾 ()
是易语言不会啊,现在主要是不理解这句在C#里该怎么写

去易语言官网看看开发文档,最简单的语法,几个小时应该就能大概理解了。
张天星 2019-01-13
  • 打赏
  • 举报
回复
引用 5 楼 zhaogenxin 的回复:
for (int i = 0; i < 10; i++)
{
loopMd5 = Md5_ (loopMd5)
}
这样写好像不对啊

首先要知道计次循环首 (10, i)的意思,
i只有定义,没有初始化,不知道易语言里面怎么处理。我姑且算他默认0.
循环这里,(10,i)可能是循环10次的意思,那么你这么写应该是正确的。估计是加密10次的意思
不过,还是建议你去易语言板块,嗯,就是其他语言板块里面询问
zhaogenxin 2019-01-13
  • 打赏
  • 举报
回复
for (int i = 0; i < 10; i++)
{
loopMd5 = Md5_ (loopMd5)
}
这样写好像不对啊
zhaogenxin 2019-01-13
  • 打赏
  • 举报
回复
.计次循环首 (10, i)
loopMd5 = Md5_ (loopMd5)
.计次循环尾 ()
是易语言不会啊,现在主要是不理解这句在C#里该怎么写
  • 打赏
  • 举报
回复
估计是 c# 不会
张天星 2019-01-13
  • 打赏
  • 举报
回复
你是易语言不会还是C#语言不会。
易语言不会的话。。其实我也不会,但看着还是可以理解的。
.局部变量 keyMd5, 字节集 应该是定义局部变量,keyMd5 = 取空白字节集 (16)可能是设定字节长度。
在C#中,不想用char[],直接用string搞定。
keyMd5 = Md5_ (ranKey) 这样的应该是方法调用,你需要知道这些方法实现的功能。
.计次循环首 (10, i) 应该是循环,类似for
。。。你需要去易语言的板块询问这些代码的意思。
如果你是C#不会。。
那就没办法了
groveer 2019-01-13
  • 打赏
  • 举报
回复
引用 楼主 zhaogenxin的回复:
.子程序 ComputeOfficial, 文本型,
.参数 ranKey, 字节集
.参数 tgtgt_fix, 字节集
.参数 tgtgtKey, 字节集
.局部变量 keyMd5, 字节集
.局部变量 sigPicMd5, 字节集
.局部变量 newMd5, 字节集
.局部变量 tgtgtMd5, 字节集
.局部变量 totalMd5, 字节集
.局部变量 tmpMd5, 字节集
.局部变量 loopMd5, 字节集
.局部变量 i, 整数型
.局部变量 result, 字节集
.局部变量 tmpD0, 整数型
.局部变量 tindex, 整数型
.局部变量 _key, 字节集
.局部变量 preBytes, 文本型
.局部变量 backBytes, 字节集
.局部变量 pack, Packet
.局部变量 computeKey, 字节集
.局部变量 tmpD4, 整数型
.局部变量 backBytes_str, 文本型

keyMd5 = 取空白字节集 (16)
sigPicMd5 = 取空白字节集 (16)
newMd5 = 取空白字节集 (16)
tgtgtMd5 = 取空白字节集 (16)
totalMd5 = 取空白字节集 (64)
tmpMd5 = 取空白字节集 (16)
loopMd5 = 取空白字节集 (16)
result = 取空白字节集 (16)
_key = 取空白字节集 (16)
' preBytes = 取空白字节集 (16)
backBytes = 取空白字节集 (8)
computeKey = 取空白字节集 (128)
keyMd5 = Md5_ (ranKey)
sigPicMd5 = Md5_ (tgtgt_fix)
newMd5 = ComputeNewKey (sigPicMd5, keyMd5)
tgtgtMd5 = Md5_ (tgtgtKey)
CopyTo (keyMd5, totalMd5, 0)
CopyTo (sigPicMd5, totalMd5, 16)
CopyTo (newMd5, totalMd5, 32)
CopyTo (tgtgtMd5, totalMd5, 48)
tmpMd5 = Md5_ (totalMd5)
CopyTo (tmpMd5, loopMd5, 0)
.计次循环首 (10, i)
loopMd5 = Md5_ (loopMd5)
.计次循环尾 ()
CopyTo (loopMd5, totalMd5, 0)
.计次循环首 (4, tmpD0)
tindex = (tmpD0 - 1) × 16
Copy (totalMd5, tindex, _key, 0, 16)
preBytes = TeaEncrypt (BytesToHex (tmpMd5), BytesToHex (_key))
Copy (tmpMd5, 8, backBytes, 0, 8)
backBytes_str = TeaEncrypt (BytesToHex (backBytes), BytesToHex (_key))
pack.PutBytes (preBytes)
pack.PutBytes (backBytes_str)
computeKey = HexToBytes (pack.GetPacket ())
tmpD4 = tmpD0
.判断循环首 (tmpD4 ≤ 16)
result [tmpD4] = 到字节 (位异或 (result [tmpD4], computeKey [tmpD4]))
tmpD4 = tmpD4 + 1
.判断循环尾 ()
.计次循环尾 ()
result = Md5_ (result)
' 信息框 (BytesToHex (result), 0, , )
返回 (BytesToHex (result))
易语言不太懂,不过不管什么语言,基本语法都是要学的,学一下基本语法,转换过来应该不难

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧