0
我找到了這個免費的源代碼在http://www.broccoliproducts.com/softnotebook/desblowfish/BlowFishCrytography.csC#如何在Silverlight中使用河豚?
當我進口它在我的項目,它給了我一定的誤差約
名稱「_assertBufferMatch」在目前情況下
將不存在名「_assertBufferMatch」不在當前情況下存在
「追蹤」並沒有在目前情況下
我沒有修改的電郵裏的名字非常重要,只是重建項目,然後發生錯誤。
此錯誤之一是
public static void Test()
{
// Declaration of local variables
Random rnd = new Random(1);
byte[] Key = null;
byte[] bufferIn = null;
byte[] bufferOut = null;
byte[] bufferReturned = null;
// Loop through the test vectors
for (int iTest = 0; iTest < TestKeys.Length; iTest++)
{
// Load the key and plain-text
Key = BitConverter.GetBytes(TestKeys[iTest]).Reverse().ToArray();
bufferIn = BitConverter.GetBytes(TestPlainText[iTest]).Reverse().ToArray();
// Encrypt with BlowFish
BlowFishCrytography.BlowFish(bufferIn, ref bufferOut, Key, true);
// Compare with expected result
byte[] expectedBufferOut = BitConverter.GetBytes(TestCypherText[iTest]).Reverse().ToArray();
_assertBufferMatch(expectedBufferOut,bufferOut);
}
// Loop through decrypt-encrypt tests
for (int iTest = 0; iTest < 100*1000; iTest++)
{
// Dump progress
if ((iTest % 100) == 0)
Trace.TraceInformation("Test {0}", iTest);
// Load the key and plain-text
Key = CreateBlowFishKey(rnd, MAX_KEY_BYTE_LENGTH);
// Create a buffer of data
int iLength = rnd.Next(1, 10*1024);
_softCreateBuffer(ref bufferIn, iLength);
rnd.NextBytes(bufferIn);
// Encrypt with BlowFish
BlowFishCrytography.BlowFishWithPadding(bufferIn, ref bufferOut, Key, true);
// Decrypt with BlowFish
BlowFishCrytography.BlowFishWithPadding(bufferOut, ref bufferReturned, Key, false);
// Compare buffers
_assertBufferMatch(bufferIn, bufferReturned);
}
}