我想弄清楚如何計算Java中的互聯網校驗和及其導致我無盡的痛苦。 (我在位操作上很糟糕。)我在C#Calculate an Internet (aka IP, aka RFC791) checksum in C#中找到了一個版本。但是,我將它轉換爲Java的嘗試沒有看到產生正確的結果。任何人都可以看到我做錯了什麼?我懷疑數據類型問題。 public long getValue() {
b
unsigned short /* this function generates header checksums */
csum (unsigned short *buf, int nwords)
{
unsigned long sum;
for (sum = 0; nwords > 0; nwords--) // add words(16bits) together