我正在尝试将使用C#制作的应用程序移植到Ruby,但我无法理解几个函数。
这是代码。
for (int pos = 0; pos < EncryptedData.Length; pos += AesKey.Length)
{
Array.Copy(incPKGFileKey, 0, PKGFileKeyConsec, pos, PKGFileKey.Length);
IncrementArray(ref incPKGFileKey, PKGFileKey.Length - 1);
}
private Boolean IncrementArray(ref byte[] sourceArray, int position)
{
if (sourceArray[position] == 0xFF)
{
if (position != 0)
{
if (IncrementArray(ref sourceArray, position - 1))
{
sourceArray[position] = 0x00;
return true;
}
else return false;
}
else return false;
}
else
{
sourceArray[position] += 0x01;
return true;
}
}
我知道数组和键的长度是16。 如果有人能解释Array.Copy和IncrementArray函数是如何工作的,我将不胜感激。
答案 0 :(得分:0)
Array.Copy将数据从一个数组复制到另一个数组:
IncrementArray不是.NET框架的一部分,应该在项目的某个地方定义。
答案 1 :(得分:0)
Array.Copy
:http://msdn.microsoft.com/en-us/library/y5s0whfd.aspx
IncrementArray
显然在您的代码中(在同一个类或本类的基类中),因此您必须阅读该代码。