ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

cksumposix - ອອນລາຍໃນຄລາວ

ແລ່ນ cksumposix ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ cksumposix ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


cksum — ຂຽນ checksums ໄຟລ໌ ແລະຂະຫນາດ

ສະຫຼຸບສັງລວມ


cksum [ເອກະສານ...]

ລາຍລະອຽດ


ໄດ້ cksum ຜົນປະໂຫຍດຈະຕ້ອງຄິດໄລ່ແລະຂຽນໃສ່ຜົນໄດ້ຮັບມາດຕະຖານການກວດສອບການຊ້ໍາຊ້ອນຮອບວຽນ
(CRC) ສໍາລັບແຕ່ລະໄຟລ໌ປ້ອນຂໍ້ມູນ, ແລະຍັງຂຽນໃສ່ຜົນໄດ້ຮັບມາດຕະຖານຈໍານວນຂອງ octets ໃນແຕ່ລະ
ໄຟລ໌. CRC ທີ່ໃຊ້ແມ່ນອີງໃສ່ polynomial ທີ່ໃຊ້ສໍາລັບການກວດສອບຄວາມຜິດພາດ CRC ໃນ
ມາດຕະຖານ ISO/IEC 8802-3:1996 (ອີເທີເນັດ).

ການເຂົ້າລະຫັດສໍາລັບ checksum CRC ແມ່ນຖືກກໍານົດໂດຍການສ້າງ polynomial:

G(x)=x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 +x8+x7+x5+x4+x2+x+1

ໃນທາງຄະນິດສາດ, ຄ່າ CRC ທີ່ສອດຄ້ອງກັບໄຟລ໌ທີ່ໃຫ້ມາຈະຖືກກໍານົດໂດຍ
ຂັ້ນ​ຕອນ​ການ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

1. ໄດ້ n bits ທີ່ຈະປະເມີນແມ່ນຖືວ່າເປັນຄ່າສໍາປະສິດຂອງ mod 2 polynomial
M(x) ຂອງ​ລະ​ດັບ​ n−1. ເຫຼົ່ານີ້ n bits ແມ່ນ bits ຈາກໄຟລ໌, ມີຫຼາຍທີ່ສຸດ
ບິດທີ່ສໍາຄັນເປັນບິດທີ່ສໍາຄັນທີ່ສຸດຂອງ octet ທໍາອິດຂອງໄຟລ໌ແລະ
ບິດສຸດທ້າຍເປັນບິດທີ່ສຳຄັນໜ້ອຍສຸດຂອງ octet ສຸດທ້າຍ, padded ກັບສູນ bits (ຖ້າ
ມີຄວາມຈໍາເປັນ) ເພື່ອບັນລຸຈໍານວນ octets ປະສົມປະສານ, ຕິດຕາມດ້ວຍຫນຶ່ງຫຼືຫຼາຍ octets
ເປັນຕົວແທນຂອງຄວາມຍາວຂອງໄຟລ໌ເປັນຄ່າສອງ, octet ທີ່ສໍາຄັນຫນ້ອຍທໍາອິດ.
ຈຳນວນ octets ນ້ອຍທີ່ສຸດທີ່ສາມາດເປັນຕົວແທນຈຳນວນເຕັມນີ້ຈະຖືກໃຊ້.

2. M(x) ແມ່ນຄູນດ້ວຍ x32 (ນັ້ນ​ແມ່ນ, shifted left 32 bits) ແລະ​ແບ່ງ​ອອກ​ໂດຍ G(x) ການ ນຳ ໃຊ້
mod 2 ພະແນກ, ການຜະລິດສ່ວນທີ່ເຫຼືອ R(x) ຂອງ degree ≤ 31 .

3. ຄ່າສໍາປະສິດຂອງ R(x) ຖືກພິຈາລະນາເປັນລໍາດັບ 32-bit.

4. ລໍາດັບບິດໄດ້ຖືກປະກອບແລະຜົນໄດ້ຮັບແມ່ນ CRC.

OPTIONS


ບໍ່ມີ.

ດໍາເນີນງານ


operand ຕໍ່​ໄປ​ນີ້​ຈະ​ໄດ້​ຮັບ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ​:

ເອກະສານ ຊື່ເສັ້ນທາງຂອງໄຟລ໌ທີ່ຈະກວດສອບ. ຖ້າບໍ່ມີ ເອກະສານ operands ແມ່ນ​ລະ​ບຸ​ໄວ້​, ໄດ້​
ວັດສະດຸປ້ອນມາດຕະຖານຈະຖືກໃຊ້.

STDIN


ການປ້ອນຂໍ້ມູນມາດຕະຖານຈະຖືກໃຊ້ຖ້າບໍ່ມີ ເອກະສານ operands ຖືກກໍານົດ, ແລະຈະຖືກນໍາໃຊ້ຖ້າຫາກວ່າ a
ເອກະສານ operand ແມ່ນ '−' ແລະການປະຕິບັດການປິ່ນປົວ '−' ເປັນການປ້ອນຂໍ້ມູນມາດຕະຖານ.
ຖ້າບໍ່ດັ່ງນັ້ນ, ວັດສະດຸປ້ອນມາດຕະຖານຈະບໍ່ຖືກໃຊ້. ເບິ່ງພາກສ່ວນ INPUT FILES.

ປັດໄຈນໍາເຂົ້າ ເອກະສານ


ໄຟລ໌ປ້ອນຂໍ້ມູນສາມາດເປັນໄຟລ໌ປະເພດໃດກໍໄດ້.

ENVIRONMENT ຄວາມຮັບຜິດຊອບ


ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້ຈະສົ່ງຜົນກະທົບຕໍ່ການປະຕິບັດ cksum:

ພາສາ ໃຫ້ຄ່າເລີ່ມຕົ້ນສໍາລັບຕົວແປສາກົນທີ່ບໍ່ໄດ້ຕັ້ງ ຫຼື
null. (ເບິ່ງປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 8.2,
Internationalization Variables ​ເພື່ອ​ຄວາມ​ກ້າວໜ້າ​ຂອງ​ການ​ຫັນ​ເປັນ​ສາກົນ
ຕົວແປທີ່ໃຊ້ເພື່ອກໍານົດຄ່າຂອງປະເພດທ້ອງຖິ່ນ.)

LC_ALL ຖ້າຕັ້ງເປັນຄ່າສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ, ລົບລ້າງຄ່າຂອງອັນອື່ນທັງໝົດ
ຕົວແປສາກົນ.

LC_CTYPE ກໍານົດທ້ອງຖິ່ນສໍາລັບການຕີຄວາມລໍາດັບຂອງ bytes ຂອງຂໍ້ມູນຂໍ້ຄວາມ
ເປັນຕົວອັກສອນ (ຕົວຢ່າງ, single-byte ກົງກັນຂ້າມກັບ multi-byte ຕົວອັກສອນໃນ
ການໂຕ້ຖຽງ).

LC_MESSAGES
ກໍານົດທ້ອງຖິ່ນທີ່ຄວນຈະຖືກນໍາໃຊ້ເພື່ອຜົນກະທົບຕໍ່ຮູບແບບແລະເນື້ອໃນຂອງ
ຂໍ້ຄວາມການວິນິໄສທີ່ຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ.

NLSPATH ກໍານົດສະຖານທີ່ຂອງລາຍການຂໍ້ຄວາມສໍາລັບການປະມວນຜົນຂອງ LC_MESSAGES.

ASYNCHRONOUS ເຫດການ


ເລີ່ມຕົ້ນ.

STDOUT


ສໍາ​ລັບ​ແຕ່​ລະ​ໄຟລ​໌​ທີ່​ປະ​ຕິ​ບັດ​ຢ່າງ​ສໍາ​ເລັດ​ຜົນ​, ໄດ້​ cksum ຜົນປະໂຫຍດຈະຕ້ອງຂຽນຕໍ່ໄປນີ້
ຮູບແບບ:

"%u %d %s\n", <Checkum>,# of ໄບຕ໌>,ຊື່ເສັ້ນທາງ>

ຖ້າບໍ່ ເອກະສານ operand ໄດ້​ລະ​ບຸ​ໄວ້​, ຊື່​ເສັ້ນ​ທາງ​ແລະ​ນໍາ​ຫນ້າ​ຂອງ​ຕົນ​ ຈະຖືກລະເວັ້ນ.

ສະດຸດ


ຄວາມຜິດພາດມາດຕະຖານຈະຖືກນໍາໃຊ້ສໍາລັບຂໍ້ຄວາມວິນິດໄສເທົ່ານັ້ນ.

OUTPUT ເອກະສານ


ບໍ່ມີ.

ອະທິບາຍ ລາຍລະອຽດ


ບໍ່ມີ.

ອອກ STATUS


ຄ່າທາງອອກຕໍ່ໄປນີ້ຈະຖືກສົ່ງຄືນ:

0 ໄຟລ໌ທັງໝົດໄດ້ຖືກປະມວນຜົນສຳເລັດແລ້ວ.

>0 ເກີດຄວາມຜິດພາດຂຶ້ນ.

ຂໍ້ສັງເກດ OF ຄວາມຜິດພາດ


ເລີ່ມຕົ້ນ.

ໄດ້ ດັ່ງຕໍ່ໄປນີ້ ພາກສ່ວນ ມີ ຂໍ້ມູນ.

ຄໍາຮ້ອງສະຫມັກ ການນໍາໃຊ້


ໄດ້ cksum ຜົນປະໂຫຍດໂດຍທົ່ວໄປແມ່ນຖືກນໍາໃຊ້ເພື່ອປຽບທຽບໄຟລ໌ທີ່ສົງໃສກັບຜູ້ທີ່ເຊື່ອຖືໄດ້ຢ່າງໄວວາ
ຮຸ່ນດຽວກັນ, ເຊັ່ນ: ເພື່ອຮັບປະກັນວ່າໄຟລ໌ທີ່ຖືກສົ່ງຜ່ານສື່ທີ່ມີສຽງດັງມາຮອດ
intact. ຢ່າງໃດກໍ່ຕາມ, ການປຽບທຽບນີ້ບໍ່ສາມາດຖືກພິຈາລະນາເປັນ cryptographically ປອດໄພ. ໄດ້
ໂອກາດຂອງໄຟລ໌ເສຍຫາຍທີ່ຜະລິດ CRC ດຽວກັນກັບຕົ້ນສະບັບແມ່ນມີຫນ້ອຍ; ໂດຍເຈດຕະນາ
ການຫຼອກລວງແມ່ນມີຄວາມຫຍຸ້ງຍາກ, ແຕ່ອາດຈະບໍ່ເປັນໄປບໍ່ໄດ້.

ເຖິງແມ່ນວ່າການປ້ອນໄຟລ໌ໄປຫາ cksum ສາມາດເປັນປະເພດໃດກໍ່ຕາມ, ຜົນໄດ້ຮັບບໍ່ຈໍາເປັນຕ້ອງເປັນສິ່ງທີ່ຈະເປັນ
ຄາດວ່າຈະຢູ່ໃນໄຟລ໌ອຸປະກອນພິເສດຕົວອັກສອນ ຫຼືຢູ່ໃນປະເພດໄຟລ໌ທີ່ບໍ່ໄດ້ອະທິບາຍໂດຍລະບົບ
ປະລິມານສ່ວນຕິດຕໍ່ຂອງ POSIX.1-2008. ເນື່ອງຈາກວ່າປະລິມານຂອງ POSIX.1-2008 ນີ້ບໍ່ໄດ້ລະບຸ
ຂະ​ຫນາດ​ຕັນ​ທີ່​ນໍາ​ໃຊ້​ໃນ​ເວ​ລາ​ທີ່​ການ​ປ້ອນ​ຂໍ້​ມູນ​, checksums ຂອງ​ໄຟລ​໌​ພິ​ເສດ​ຂອງ​ຕົວ​ອັກ​ສອນ​ບໍ່​ຈໍາ​ເປັນ​ຕ້ອງ​ປຸງ​ແຕ່ງ​
ຂໍ້ມູນທັງໝົດໃນໄຟລ໌ເຫຼົ່ານັ້ນ.

ສູດການຄິດໄລ່ແມ່ນສະແດງອອກໃນແງ່ຂອງ bitstream ແບ່ງອອກເປັນ octets. ຖ້າໄຟລ໌ແມ່ນ
ຖ່າຍທອດລະຫວ່າງສອງລະບົບ ແລະຜ່ານການປ່ຽນຂໍ້ມູນໃດໆກໍຕາມ (ເຊັ່ນ: ການປ່ຽນແປງ
little-endian byte ສັ່ງຫາ big-endian), ຄ່າ CRC ຄືກັນບໍ່ສາມາດຄາດການໄດ້.
ການຈັດຕັ້ງປະຕິບັດການຫັນປ່ຽນດັ່ງກ່າວອາດຈະຂະຫຍາຍອອກໄປ cksum ເພື່ອຈັດການດັ່ງກ່າວ
ສະຖານະການ.

ຕົວຢ່າງ


ບໍ່ມີ.

ສະຖານທີ່


ໂປຣແກຣມພາສາ C ຕໍ່ໄປນີ້ສາມາດໃຊ້ເປັນຕົວແບບເພື່ອອະທິບາຍ algorithm. ມັນ
ສົມ​ມຸດ​ວ່າ a char ເປັນ octet ຫນຶ່ງ. ມັນຍັງສົມມຸດວ່າໄຟລ໌ທັງຫມົດແມ່ນມີຢູ່ສໍາລັບ
ຫນຶ່ງຜ່ານຫນ້າທີ່. ນີ້ແມ່ນເຮັດເພື່ອຄວາມງ່າຍດາຍໃນການສະແດງ
algorithm, ແທນທີ່ຈະເປັນຮູບແບບການປະຕິບັດ.

ໄຟຟ້າສະຖິດ ລົງນາມ ຍາວ crctab[] = {
0x00000000,
0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b,
0x1a864db2, 0x1e475005, 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6,
0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac,
0x5bd4b01b, 0x569796c2, 0x52568b75, 0x6a1936c8, 0x6ed82b7f,
0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a,
0x745e66cd, 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, 0xbe2b5b58,
0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033,
0xa4ad16ea, 0xa06c0b5d, 0xd4326d90, 0xd0f37027, 0xddb056fe,
0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4,
0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, 0x34867077, 0x30476dc0,
0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5,
0x2ac12072, 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, 0x7897ab07,
0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93ddb, 0x6f52c06c,
0x6211e6b5, 0x66d0fb02, 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1,
0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b,
0xbb60adfc, 0xb6238b25, 0xb2e29692, 0x8aad2b2f, 0x8e6c3698,
0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d,
0x94ea7b2a, 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
0xf3b06b3b, 0xf771768c, 0xfa325055, 0xef34de2, 0xc6bcf05f,
0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34,
0xdc3abded, 0xd8fba05a, 0x690ce0ee, 0x6dcdfd59, 0x608edb80,
0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a,
0x58c1663d, 0x558240e4, 0x51435d53, 0x251d3b9e, 0x21dc2629,
0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c,
0x3b5a6b9b, 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, 0xf12f560e,
0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65,
0xeba91bbc, 0xef68060b, 0xd727bb6, 0xd3e6a601, 0xdea580d8,
0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xa3afba2,
0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, 0x9b3660c6, 0x9ff77d71,
0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30 ບໍ່ດີ, 0x81b02d74,
0x857130c3, 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, 0x7b827d21,
0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a,
0x61043093, 0x65c52d24, 0x119b4be9, 0x155a565e, 0x18197087,
0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d,
0x2056cd3a, 0x2d15ebe3, 0x29d4f654, 0xc5a92679, 0xc1683bce,
0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb,
0xdbee767c, 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, 0x89b8fd09,
0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662,
0x933eb0bb, 0x97ffad0c, 0xafb010b1, 0xab710d06, 0xa6322bdf,
0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
};

memcrc ຍາວທີ່ບໍ່ໄດ້ເຊັນ(const unsigned char *b, size_t n)
{
/* ການປ້ອນຂໍ້ມູນ:
* const unsigned char* b == ລໍາດັບ byte ກັບ checksum
* size_t n == ຄວາມຍາວຂອງລໍາດັບ
*/

ລົງທະບຽນ size_t i;
ລົງທະບຽນ unsigned c, s = 0;

ສໍາລັບ (i = n; i > 0; −−i) {
c = *b++;
s = (s << 8) ^ crctab[(s >> 24) ^ c] ;
}

/* ຂະຫຍາຍດ້ວຍຄວາມຍາວຂອງສາຍ. */
ໃນຂະນະທີ່ (n != 0) {
c = n & 0377;
n >>= 8;
s = (s << 8) ^ crctab[(s >> 24) ^ c] ;
}

ກັບຄືນ ~s;
}

ການປະຕິບັດປະຫວັດສາດຂອງການຂຽນຈໍານວນ `` ບລັອກ '' ໄດ້ຖືກປ່ຽນເປັນການຂຽນ
ຈໍານວນຂອງ octets, ນັບຕັ້ງແຕ່ສຸດທ້າຍແມ່ນບໍ່ພຽງແຕ່ເປັນປະໂຫຍດຫຼາຍ, ແຕ່ຍັງນັບຕັ້ງແຕ່ປະຫວັດສາດ
ການປະຕິບັດຍັງບໍ່ທັນສອດຄ່ອງໃນການກໍານົດວ່າ "ບລັອກ" ຫມາຍຄວາມວ່າແນວໃດ.

ສູດການຄິດໄລ່ທີ່ໃຊ້ໄດ້ຖືກເລືອກເພື່ອເພີ່ມຄວາມທົນທານຂອງການດໍາເນີນງານ cksumທີ່ຢູ່ ບໍ່ແມ່ນ
ລະບົບ V ຫຼື BSD sum algorithm ຖືກເລືອກ. ເນື່ອງຈາກວ່າແຕ່ລະຄົນເຫຼົ່ານີ້ແມ່ນແຕກຕ່າງກັນແລະ
ແຕ່​ລະ​ຄົນ​ແມ່ນ​ພຶດ​ຕິ​ກໍາ​ໃນ​ຕອນ​ຕົ້ນ​ໃນ​ລະ​ບົບ​ເຫຼົ່າ​ນັ້ນ​, ບໍ່​ມີ​ການ​ປະ​ນີ​ປະ​ນອມ​ທີ່​ແທ້​ຈິງ​ແມ່ນ​ມີ​ຖ້າ​ຫາກ​ວ່າ​
ບໍ່ວ່າຈະຖືກເລືອກ - ບາງຊຸດຂອງຄໍາຮ້ອງສະຫມັກປະຫວັດສາດຈະແຕກ. ເພາະສະນັ້ນ, ຊື່
ຖືກປ່ຽນເປັນ cksum. ເຖິງແມ່ນວ່າປະຫວັດສາດ sum ຄໍາສັ່ງອາດຈະສືບຕໍ່ເປັນ
ສະຫນອງໃຫ້ເປັນເວລາຫຼາຍປີ, ບັນດາໂຄງການທີ່ອອກແບບມາສໍາລັບການເຄື່ອນທີ່ໃນທົ່ວລະບົບຄວນໃຊ້
ຊື່ໃຫມ່.

ຂັ້ນຕອນທີ່ເລືອກແມ່ນອີງໃສ່ມາດຕະຖານ ISO/IEC 8802-3:1996.
(ອີເທີເນັດ) ສໍາລັບຊ່ອງຂໍ້ມູນລໍາດັບການກວດສອບກອບ. ສູດການຄິດໄລ່ທີ່ໃຊ້ບໍ່ກົງກັບ
ຄໍານິຍາມດ້ານວິຊາການຂອງ a Checkum; ຄຳ ສັບດັ່ງກ່າວຖືກ ນຳ ໃຊ້ເພື່ອເຫດຜົນທາງປະຫວັດສາດ. ຄວາມຍາວຂອງ
ໄຟລ໌ໄດ້ຖືກລວມເຂົ້າໃນການຄິດໄລ່ CRC ເພາະວ່າຂະຫນານນີ້ລວມເຖິງຄວາມຍາວ
ພາກສະຫນາມໂດຍ Ethernet ໃນ CRC ຂອງມັນ, ແຕ່ຍັງເນື່ອງຈາກວ່າມັນປ້ອງກັນການປະທະກັນໂດຍບໍ່ໄດ້ຕັ້ງໃຈ
ລະຫວ່າງໄຟລ໌ທີ່ເລີ່ມຕົ້ນດ້ວຍຊຸດຂອງສູນ octets ທີ່ແຕກຕ່າງກັນ. ໂອກາດທີ່ສອງ
ໄຟລ໌ທີ່ແຕກຕ່າງກັນຜະລິດ CRCs ຄືກັນແມ່ນຫຼາຍກວ່າເກົ່າເມື່ອຄວາມຍາວຂອງພວກມັນບໍ່ແມ່ນ
ພິຈາລະນາ. ການຮັກສາຄວາມຍາວແລະ checksum ຂອງໄຟລ໌ຕົວມັນເອງແຍກຕ່າງຫາກຈະໃຫ້ຜົນໄດ້ຮັບ a
algorithm ທີ່ເຂັ້ມແຂງກວ່າເລັກນ້ອຍ, ແຕ່ການນໍາໃຊ້ປະຫວັດສາດແມ່ນສະເຫມີວ່າເປັນຕົວເລກດຽວ
( checksum ທີ່ພິມອອກ) ເປັນຕົວແທນຂອງລາຍເຊັນຂອງໄຟລ໌. ມັນໄດ້ຖືກຕັດສິນໃຈວ່າ
ການນໍາໃຊ້ປະຫວັດສາດແມ່ນການພິຈາລະນາທີ່ສໍາຄັນກວ່າ.

ຂໍ້ສະເໜີເບື້ອງຕົ້ນມີການດັດແປງລະບົບ Ethernet algorithm ທີ່ກ່ຽວຂ້ອງກັບການສະກັດເອົາ
ຄ່າຕາຕະລາງທຸກຄັ້ງທີ່ຜົນໄດ້ຮັບຂັ້ນກາງກາຍເປັນສູນ. ນີ້ໄດ້ຖືກສະແດງໃຫ້ເຫັນວ່າຫນ້ອຍລົງ
ແຂງແຮງກວ່າວິທີການປະຈຸບັນ ແລະຍາກໃນການອະທິບາຍ ຫຼືໃຫ້ເຫດຜົນທາງຄະນິດສາດ.

ການຄິດໄລ່ທີ່ໃຊ້ແມ່ນຄືກັນກັບທີ່ລະບຸໄວ້ໃນລະຫັດ pseudo ໃນ Sarwate ອ້າງອີງ.
ບົດຄວາມ. ການສະແດງລະຫັດ pseudo ແມ່ນ:

X <− 0; Y <− 0;
ສໍາລັບການ i <− m -1 ຂັ້ນ​ຕອນ -1 ຈົນກ່ວາ 0 do
ເລີ່ມຕົ້ນ
T <− X(1​) ^ A[i];
X(1​) <− X(0) X(0​) <− Y(1) Y(1​) <− Y(0) Y(0​) <− 0;
ຄໍາເຫັນ: f[T] ແລະ f'[T] ໝາຍເຫດ ໄດ້ ທ-ທ ຄໍາເວົ້າ in ໄດ້
ຕາຕະລາງ f ແລະ f' ;
X <− X ^ f[T]; Y <− Y ^ f'[T];
ໃນຕອນທ້າຍ

ລະຫັດ pseudo ໄດ້ຖືກຜະລິດຄືນໃຫມ່ຕາມທີ່ໄດ້ມອບໃຫ້; ຢ່າງໃດກໍຕາມ, ສັງເກດວ່າໃນກໍລະນີຂອງ cksum,
A[i] ເປັນຕົວແທນຂອງ byte ຂອງໄຟລ໌, ຄໍາ X ແລະ Y ຖືກປະຕິບັດເປັນ 32-bit ດຽວ
ມູນຄ່າ, ແລະຕາຕະລາງ f ແລະ f' ແມ່ນຕາຕະລາງດຽວທີ່ມີຄ່າ 32-bit.

ບົດຄວາມ Sarwate ອ້າງອີງຍັງປຶກສາຫາລືກ່ຽວກັບການສ້າງຕາຕະລາງ.

ອະນາຄົດ DIRECTIONS


ບໍ່ມີ.

ໃຊ້ cksumposix ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    wxPython
    wxPython
    ຊຸດຂອງໂມດູນການຂະຫຍາຍ Python ທີ່
    ຫໍ່ຫ້ອງຮຽນ GUI ຂ້າມເວທີຈາກ
    wxWidgets.. ຜູ້ຊົມ: ນັກພັດທະນາ. ຜູ້ໃຊ້
    ການໂຕ້ຕອບ: X Window System (X11), Win32 ...
    ດາວໂຫລດ wxPython
  • 2
    packfilemanager
    packfilemanager
    ນີ້ແມ່ນຕົວຈັດການໄຟລ໌ Total War pack
    ໂຄງ​ການ​, ເລີ່ມ​ຈາກ​ສະ​ບັບ 1.7​. ກ
    ການແນະນໍາສັ້ນໆກ່ຽວກັບ Warscape
    modding: ...
    ດາວໂຫລດ packfilemanager
  • 3
    IPerf2
    IPerf2
    ເຄື່ອງມືການຈະລາຈອນເຄືອຂ່າຍສໍາລັບການວັດແທກ
    ການປະຕິບັດ TCP ແລະ UDP ດ້ວຍການວັດແທກ
    ປະມານທັງການສົ່ງຜ່ານ ແລະ latency. ໄດ້
    ເປົ້າໝາຍລວມເຖິງການຮັກສາການເຄື່ອນໄຫວ
    iperf cod...
    ດາວໂຫລດ IPerf2
  • 4
    fre:ac - ຕົວແປງສຽງຟຣີ
    fre:ac - ຕົວແປງສຽງຟຣີ
    fre:ac ເປັນຕົວແປງສຽງ ແລະ CD ຟຣີ
    ripper ສໍາລັບຮູບແບບຕ່າງໆແລະຕົວເຂົ້າລະຫັດ.
    ມັນມີ MP3, MP4 / M4A, WMA, Ogg
    ຮູບແບບ Vorbis, FLAC, AAC, ແລະ Bonk
    ສະ​ຫນັບ​ສະ​ຫນູນ​, ...
    ດາວ​ໂຫຼດ​ຟຣີ:ac - ແປງ​ສຽງ​ຟຣີ​
  • 5
    matplotlib
    matplotlib
    Matplotlib ເປັນຫ້ອງສະຫມຸດທີ່ສົມບູນແບບ
    ສໍາລັບການສ້າງ static, ມີການເຄື່ອນໄຫວ, ແລະ
    ການສະແດງພາບແບບໂຕ້ຕອບໃນ Python.
    Matplotlib ເຮັດໃຫ້ສິ່ງທີ່ງ່າຍແລະງ່າຍດາຍ
    ຍາກ...
    ດາວໂຫລດ Matplotlib
  • 6
    Botman
    Botman
    ຂຽນເຫດຜົນ chatbot ຂອງເຈົ້າຄັ້ງດຽວແລະ
    ເຊື່ອມຕໍ່ມັນກັບຫນຶ່ງໃນທີ່ມີຢູ່
    ບໍລິການສົ່ງຂໍ້ຄວາມ, ລວມທັງ Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram ຫຼືແມ້ກະທັ້ງ ...
    ດາວໂຫລດ BotMan
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad