我不擅長像CRC32,MD5等算法,所以我甚至有困難的問這個問題:)CRC32從C++/C#到PHP
基本上沒有使用
C#應用程序[DllImport("Crc32.dll")]
private static extern UInt32 CRC32Calc(UInt32 crc32, byte[] buffer, uint length);
並且在該代碼進一步向下,同時使用特定的crcSeed
值使用它的方法中Generate
這樣
UInt32 crc = CRC32Calc(crcSeed, rawData, (uint)rawData.Length);
。
我的工作是將整個Generate
方法修改爲PHP函數,同時保留正確的CRC計算。
我認爲PHP的
int crc32 (string $str)
功能將無法工作,因爲我不能設置crcSeed。所以我的問題是:
我怎樣才能在PHP中做出確切的crc32計算,而不訴諸外部DLL的等等,所以我可以使用代碼和Linux機器?
編輯:
CRC被與crcSeed爲初始一個塊計算。
CRC32Calc方法實際上是使用SCTP CRC-32C版本,所以現在只需要一個PHP實現。
我不認爲[CRC](http://en.wikipedia.org/wiki/Computation_of_CRC)使用種子。在調用CRC32Calc之前設置的值是多少? – CodeCaster 2012-07-10 12:47:15
您的DLL導入crc32.dll不是Windows附帶的庫。我們不知道它是如何工作的或它有什麼作用。 – vcsjones 2012-07-10 12:48:04
我的印象是,種子是一個不同於「標準」0xFFF ... FFF或「所有」的起點,雖然我實際上不知道CRC如何計算,只能確定新的我寫這兩個代碼並進行比較。 – Azder 2012-07-10 12:51:15