Skip to main content
CRC Calc

CRC-64 / MS

Width64-bitRefInYesRefOutYes

Need custom parameters? Open in full calculator

Standard test string

Result

0x75D4B74F024ECEEA

Similar CRC Algorithms

Result is calculated from the current input. Check is the published verification value for the standard input 123456789. Click another algorithm to view its detail page.

CRC Lookup Table

0x00000000000000000x0809E8A2969451E90x1013D1452D28A3D20x181A39E7BBBCF23B0x2027A28A5A5147A40x282E4A28CCC5164D0x303473CF7779E4760x383D9B6DE1EDB59F0x404F4514B4A28F480x4846ADB62236DEA10x505C9451998A2C9A0x58557CF30F1E7D730x6068E79EEEF3C8EC0x68610F3C786799050x707B36DBC3DB6B3E0x7872DE79554F3AD7
0x809E8A2969451E900x8897628BFFD14F790x908D5B6C446DBD420x9884B3CED2F9ECAB0xA0B928A3331459340xA8B0C001A58008DD0xB0AAF9E61E3CFAE60xB8A3114488A8AB0F0xC0D1CF3DDDE791D80xC8D8279F4B73C0310xD0C21E78F0CF320A0xD8CBF6DA665B63E30xE0F66DB787B6D67C0xE8FF8515112287950xF0E5BCF2AA9E75AE0xF8EC54503C0A2447
0x24B1909974C84E690x2CB8783BE25C1F800x34A241DC59E0EDBB0x3CABA97ECF74BC520x049632132E9909CD0x0C9FDAB1B80D58240x1485E35603B1AA1F0x1C8C0BF49525FBF60x64FED58DC06AC1210x6CF73D2F56FE90C80x74ED04C8ED4262F30x7CE4EC6A7BD6331A0x44D977079A3B86850x4CD09FA50CAFD76C0x54CAA642B71325570x5CC34EE0218774BE
0xA42F1AB01D8D50F90xAC26F2128B1901100xB43CCBF530A5F32B0xBC352357A631A2C20x8408B83A47DC175D0x8C015098D14846B40x941B697F6AF4B48F0x9C1281DDFC60E5660xE4605FA4A92FDFB10xEC69B7063FBB8E580xF4738EE184077C630xFC7A664312932D8A0xC447FD2EF37E98150xCC4E158C65EAC9FC0xD4542C6BDE563BC70xDC5DC4C948C26A2E
0x49632132E9909CD20x416AC9907F04CD3B0x5970F077C4B83F000x517918D5522C6EE90x694483B8B3C1DB760x614D6B1A25558A9F0x795752FD9EE978A40x715EBA5F087D294D0x092C64265D32139A0x01258C84CBA642730x193FB563701AB0480x11365DC1E68EE1A10x290BC6AC0763543E0x21022E0E91F705D70x391817E92A4BF7EC0x3111FF4BBCDFA605
0xC9FDAB1B80D582420xC1F443B91641D3AB0xD9EE7A5EADFD21900xD1E792FC3B6970790xE9DA0991DA84C5E60xE1D3E1334C10940F0xF9C9D8D4F7AC66340xF1C03076613837DD0x89B2EE0F34770D0A0x81BB06ADA2E35CE30x99A13F4A195FAED80x91A8D7E88FCBFF310xA9954C856E264AAE0xA19CA427F8B21B470xB9869DC0430EE97C0xB18F7562D59AB895
0x6DD2B1AB9D58D2BB0x65DB59090BCC83520x7DC160EEB07071690x75C8884C26E420800x4DF51321C709951F0x45FCFB83519DC4F60x5DE6C264EA2136CD0x55EF2AC67CB567240x2D9DF4BF29FA5DF30x25941C1DBF6E0C1A0x3D8E25FA04D2FE210x3587CD589246AFC80x0DBA563573AB1A570x05B3BE97E53F4BBE0x1DA987705E83B9850x15A06FD2C817E86C
0xED4C3B82F41DCC2B0xE545D32062899DC20xFD5FEAC7D9356FF90xF55602654FA13E100xCD6B9908AE4C8B8F0xC56271AA38D8DA660xDD78484D8364285D0xD571A0EF15F079B40xAD037E9640BF43630xA50A9634D62B128A0xBD10AFD36D97E0B10xB5194771FB03B1580x8D24DC1C1AEE04C70x852D34BE8C7A552E0x9D370D5937C6A7150x953EE5FBA152F6FC
0x92C64265D32139A40x9ACFAAC745B5684D0x82D59320FE099A760x8ADC7B82689DCB9F0xB2E1E0EF89707E000xBAE8084D1FE42FE90xA2F231AAA458DDD20xAAFBD90832CC8C3B0xD28907716783B6EC0xDA80EFD3F117E7050xC29AD6344AAB153E0xCA933E96DC3F44D70xF2AEA5FB3DD2F1480xFAA74D59AB46A0A10xE2BD74BE10FA529A0xEAB49C1C866E0373
0x1258C84CBA6427340x1A5120EE2CF076DD0x024B1909974C84E60x0A42F1AB01D8D50F0x327F6AC6E03560900x3A76826476A131790x226CBB83CD1DC3420x2A6553215B8992AB0x52178D580EC6A87C0x5A1E65FA9852F9950x42045C1D23EE0BAE0x4A0DB4BFB57A5A470x72302FD25497EFD80x7A39C770C203BE310x6223FE9779BF4C0A0x6A2A1635EF2B1DE3
0xB677D2FCA7E977CD0xBE7E3A5E317D26240xA66403B98AC1D41F0xAE6DEB1B1C5585F60x96507076FDB830690x9E5998D46B2C61800x8643A133D09093BB0x8E4A49914604C2520xF63897E8134BF8850xFE317F4A85DFA96C0xE62B46AD3E635B570xEE22AE0FA8F70ABE0xD61F3562491ABF210xDE16DDC0DF8EEEC80xC60CE42764321CF30xCE050C85F2A64D1A
0x36E958D5CEAC695D0x3EE0B077583838B40x26FA8990E384CA8F0x2EF3613275109B660x16CEFA5F94FD2EF90x1EC712FD02697F100x06DD2B1AB9D58D2B0x0ED4C3B82F41DCC20x76A61DC17A0EE6150x7EAFF563EC9AB7FC0x66B5CC84572645C70x6EBC2426C1B2142E0x5681BF4B205FA1B10x5E8857E9B6CBF0580x46926E0E0D7702630x4E9B86AC9BE3538A
0xDBA563573AB1A5760xD3AC8BF5AC25F49F0xCBB6B212179906A40xC3BF5AB0810D574D0xFB82C1DD60E0E2D20xF38B297FF674B33B0xEB9110984DC841000xE398F83ADB5C10E90x9BEA26438E132A3E0x93E3CEE118877BD70x8BF9F706A33B89EC0x83F01FA435AFD8050xBBCD84C9D4426D9A0xB3C46C6B42D63C730xABDE558CF96ACE480xA3D7BD2E6FFE9FA1
0x5B3BE97E53F4BBE60x533201DCC560EA0F0x4B28383B7EDC18340x4321D099E84849DD0x7B1C4BF409A5FC420x7315A3569F31ADAB0x6B0F9AB1248D5F900x63067213B2190E790x1B74AC6AE75634AE0x137D44C871C265470x0B677D2FCA7E977C0x036E958D5CEAC6950x3B530EE0BD07730A0x335AE6422B9322E30x2B40DFA5902FD0D80x2349370706BB8131
0xFF14F3CE4E79EB1F0xF71D1B6CD8EDBAF60xEF07228B635148CD0xE70ECA29F5C519240xDF3351441428ACBB0xD73AB9E682BCFD520xCF20800139000F690xC72968A3AF945E800xBF5BB6DAFADB64570xB7525E786C4F35BE0xAF48679FD7F3C7850xA7418F3D4167966C0x9F7C1450A08A23F30x9775FCF2361E721A0x8F6FC5158DA280210x87662DB71B36D1C8
0x7F8A79E7273CF58F0x77839145B1A8A4660x6F99A8A20A14565D0x679040009C8007B40x5FADDB6D7D6DB22B0x57A433CFEBF9E3C20x4FBE0A28504511F90x47B7E28AC6D140100x3FC53CF3939E7AC70x37CCD451050A2B2E0x2FD6EDB6BEB6D9150x27DF0514282288FC0x1FE29E79C9CF3D630x17EB76DB5F5B6C8A0x0FF14F3CE4E79EB10x07F8A79E7273CF58

CRC Source Code

/* 
 * Model: CRC-64 / MS (64-bit)
 * Poly: 0x259C84CBA6426349, Init: 0xFFFFFFFFFFFFFFFF, XorOut: 0x0000000000000000
 * CRC Table C Source Code & Lookup Table Generator
 */
#include <stdint.h>
#include <stddef.h>

const uint64_t crc_table[256] = {
  0x0000000000000000, 0x0809E8A2969451E9, 0x1013D1452D28A3D2, 0x181A39E7BBBCF23B, 0x2027A28A5A5147A4, 0x282E4A28CCC5164D, 0x303473CF7779E476, 0x383D9B6DE1EDB59F, 
  0x404F4514B4A28F48, 0x4846ADB62236DEA1, 0x505C9451998A2C9A, 0x58557CF30F1E7D73, 0x6068E79EEEF3C8EC, 0x68610F3C78679905, 0x707B36DBC3DB6B3E, 0x7872DE79554F3AD7, 
  0x809E8A2969451E90, 0x8897628BFFD14F79, 0x908D5B6C446DBD42, 0x9884B3CED2F9ECAB, 0xA0B928A333145934, 0xA8B0C001A58008DD, 0xB0AAF9E61E3CFAE6, 0xB8A3114488A8AB0F, 
  0xC0D1CF3DDDE791D8, 0xC8D8279F4B73C031, 0xD0C21E78F0CF320A, 0xD8CBF6DA665B63E3, 0xE0F66DB787B6D67C, 0xE8FF851511228795, 0xF0E5BCF2AA9E75AE, 0xF8EC54503C0A2447, 
  0x24B1909974C84E69, 0x2CB8783BE25C1F80, 0x34A241DC59E0EDBB, 0x3CABA97ECF74BC52, 0x049632132E9909CD, 0x0C9FDAB1B80D5824, 0x1485E35603B1AA1F, 0x1C8C0BF49525FBF6, 
  0x64FED58DC06AC121, 0x6CF73D2F56FE90C8, 0x74ED04C8ED4262F3, 0x7CE4EC6A7BD6331A, 0x44D977079A3B8685, 0x4CD09FA50CAFD76C, 0x54CAA642B7132557, 0x5CC34EE0218774BE, 
  0xA42F1AB01D8D50F9, 0xAC26F2128B190110, 0xB43CCBF530A5F32B, 0xBC352357A631A2C2, 0x8408B83A47DC175D, 0x8C015098D14846B4, 0x941B697F6AF4B48F, 0x9C1281DDFC60E566, 
  0xE4605FA4A92FDFB1, 0xEC69B7063FBB8E58, 0xF4738EE184077C63, 0xFC7A664312932D8A, 0xC447FD2EF37E9815, 0xCC4E158C65EAC9FC, 0xD4542C6BDE563BC7, 0xDC5DC4C948C26A2E, 
  0x49632132E9909CD2, 0x416AC9907F04CD3B, 0x5970F077C4B83F00, 0x517918D5522C6EE9, 0x694483B8B3C1DB76, 0x614D6B1A25558A9F, 0x795752FD9EE978A4, 0x715EBA5F087D294D, 
  0x092C64265D32139A, 0x01258C84CBA64273, 0x193FB563701AB048, 0x11365DC1E68EE1A1, 0x290BC6AC0763543E, 0x21022E0E91F705D7, 0x391817E92A4BF7EC, 0x3111FF4BBCDFA605, 
  0xC9FDAB1B80D58242, 0xC1F443B91641D3AB, 0xD9EE7A5EADFD2190, 0xD1E792FC3B697079, 0xE9DA0991DA84C5E6, 0xE1D3E1334C10940F, 0xF9C9D8D4F7AC6634, 0xF1C03076613837DD, 
  0x89B2EE0F34770D0A, 0x81BB06ADA2E35CE3, 0x99A13F4A195FAED8, 0x91A8D7E88FCBFF31, 0xA9954C856E264AAE, 0xA19CA427F8B21B47, 0xB9869DC0430EE97C, 0xB18F7562D59AB895, 
  0x6DD2B1AB9D58D2BB, 0x65DB59090BCC8352, 0x7DC160EEB0707169, 0x75C8884C26E42080, 0x4DF51321C709951F, 0x45FCFB83519DC4F6, 0x5DE6C264EA2136CD, 0x55EF2AC67CB56724, 
  0x2D9DF4BF29FA5DF3, 0x25941C1DBF6E0C1A, 0x3D8E25FA04D2FE21, 0x3587CD589246AFC8, 0x0DBA563573AB1A57, 0x05B3BE97E53F4BBE, 0x1DA987705E83B985, 0x15A06FD2C817E86C, 
  0xED4C3B82F41DCC2B, 0xE545D32062899DC2, 0xFD5FEAC7D9356FF9, 0xF55602654FA13E10, 0xCD6B9908AE4C8B8F, 0xC56271AA38D8DA66, 0xDD78484D8364285D, 0xD571A0EF15F079B4, 
  0xAD037E9640BF4363, 0xA50A9634D62B128A, 0xBD10AFD36D97E0B1, 0xB5194771FB03B158, 0x8D24DC1C1AEE04C7, 0x852D34BE8C7A552E, 0x9D370D5937C6A715, 0x953EE5FBA152F6FC, 
  0x92C64265D32139A4, 0x9ACFAAC745B5684D, 0x82D59320FE099A76, 0x8ADC7B82689DCB9F, 0xB2E1E0EF89707E00, 0xBAE8084D1FE42FE9, 0xA2F231AAA458DDD2, 0xAAFBD90832CC8C3B, 
  0xD28907716783B6EC, 0xDA80EFD3F117E705, 0xC29AD6344AAB153E, 0xCA933E96DC3F44D7, 0xF2AEA5FB3DD2F148, 0xFAA74D59AB46A0A1, 0xE2BD74BE10FA529A, 0xEAB49C1C866E0373, 
  0x1258C84CBA642734, 0x1A5120EE2CF076DD, 0x024B1909974C84E6, 0x0A42F1AB01D8D50F, 0x327F6AC6E0356090, 0x3A76826476A13179, 0x226CBB83CD1DC342, 0x2A6553215B8992AB, 
  0x52178D580EC6A87C, 0x5A1E65FA9852F995, 0x42045C1D23EE0BAE, 0x4A0DB4BFB57A5A47, 0x72302FD25497EFD8, 0x7A39C770C203BE31, 0x6223FE9779BF4C0A, 0x6A2A1635EF2B1DE3, 
  0xB677D2FCA7E977CD, 0xBE7E3A5E317D2624, 0xA66403B98AC1D41F, 0xAE6DEB1B1C5585F6, 0x96507076FDB83069, 0x9E5998D46B2C6180, 0x8643A133D09093BB, 0x8E4A49914604C252, 
  0xF63897E8134BF885, 0xFE317F4A85DFA96C, 0xE62B46AD3E635B57, 0xEE22AE0FA8F70ABE, 0xD61F3562491ABF21, 0xDE16DDC0DF8EEEC8, 0xC60CE42764321CF3, 0xCE050C85F2A64D1A, 
  0x36E958D5CEAC695D, 0x3EE0B077583838B4, 0x26FA8990E384CA8F, 0x2EF3613275109B66, 0x16CEFA5F94FD2EF9, 0x1EC712FD02697F10, 0x06DD2B1AB9D58D2B, 0x0ED4C3B82F41DCC2, 
  0x76A61DC17A0EE615, 0x7EAFF563EC9AB7FC, 0x66B5CC84572645C7, 0x6EBC2426C1B2142E, 0x5681BF4B205FA1B1, 0x5E8857E9B6CBF058, 0x46926E0E0D770263, 0x4E9B86AC9BE3538A, 
  0xDBA563573AB1A576, 0xD3AC8BF5AC25F49F, 0xCBB6B212179906A4, 0xC3BF5AB0810D574D, 0xFB82C1DD60E0E2D2, 0xF38B297FF674B33B, 0xEB9110984DC84100, 0xE398F83ADB5C10E9, 
  0x9BEA26438E132A3E, 0x93E3CEE118877BD7, 0x8BF9F706A33B89EC, 0x83F01FA435AFD805, 0xBBCD84C9D4426D9A, 0xB3C46C6B42D63C73, 0xABDE558CF96ACE48, 0xA3D7BD2E6FFE9FA1, 
  0x5B3BE97E53F4BBE6, 0x533201DCC560EA0F, 0x4B28383B7EDC1834, 0x4321D099E84849DD, 0x7B1C4BF409A5FC42, 0x7315A3569F31ADAB, 0x6B0F9AB1248D5F90, 0x63067213B2190E79, 
  0x1B74AC6AE75634AE, 0x137D44C871C26547, 0x0B677D2FCA7E977C, 0x036E958D5CEAC695, 0x3B530EE0BD07730A, 0x335AE6422B9322E3, 0x2B40DFA5902FD0D8, 0x2349370706BB8131, 
  0xFF14F3CE4E79EB1F, 0xF71D1B6CD8EDBAF6, 0xEF07228B635148CD, 0xE70ECA29F5C51924, 0xDF3351441428ACBB, 0xD73AB9E682BCFD52, 0xCF20800139000F69, 0xC72968A3AF945E80, 
  0xBF5BB6DAFADB6457, 0xB7525E786C4F35BE, 0xAF48679FD7F3C785, 0xA7418F3D4167966C, 0x9F7C1450A08A23F3, 0x9775FCF2361E721A, 0x8F6FC5158DA28021, 0x87662DB71B36D1C8, 
  0x7F8A79E7273CF58F, 0x77839145B1A8A466, 0x6F99A8A20A14565D, 0x679040009C8007B4, 0x5FADDB6D7D6DB22B, 0x57A433CFEBF9E3C2, 0x4FBE0A28504511F9, 0x47B7E28AC6D14010, 
  0x3FC53CF3939E7AC7, 0x37CCD451050A2B2E, 0x2FD6EDB6BEB6D915, 0x27DF0514282288FC, 0x1FE29E79C9CF3D63, 0x17EB76DB5F5B6C8A, 0x0FF14F3CE4E79EB1, 0x07F8A79E7273CF58
};

uint64_t calculate_crc(const uint8_t *data, size_t length) {
    uint64_t crc = 0xFFFFFFFFFFFFFFFF;
    for (size_t i = 0; i < length; i++) {
        #if 1
        uint8_t idx = (uint8_t)(crc ^ data[i]);
        crc = (crc >> 8) ^ crc_table[idx];
        #else
        uint8_t idx = (uint8_t)((crc >> 56) ^ data[i]);
        crc = (crc << 8) ^ crc_table[idx];
        #endif
    }
    return crc ^ 0x0000000000000000;
}

About CRC-64/MS

CRC-64/MS is the reflected 64-bit CRC used by Microsoft protocols such as the .cab file format.

CRC-64/MS is a 64-bit CRC model defined by polynomial 0x259C84CBA6426349, an initial register value of 0xFFFFFFFFFFFFFFFF, and final XOR 0x0000000000000000. It processes reflected input bytes and reports a reflected output.

Documented application context for this model includes Microsoft protocols, CAB archives, Storage validation. The calculator above applies this exact parameter set to the current input; the published Check value below is instead the fixed verification result for ASCII 123456789.

Standard test vector

CRC implementations are commonly verified with the ASCII input 123456789.

Input format
ASCII
Input
123456789
Expected CRC
0x75D4B74F024ECEEA

Model characteristics

A model is identified by its complete parameter set, not its polynomial alone.

Bit order
Reflected
Register start
0xFFFFFFFFFFFFFFFF
Final XOR
0x0000000000000000
Published check
0x75D4B74F024ECEEA

Implementation checks for CRC-64/MS

  • Use a 64-bit register and polynomial 0x259C84CBA6426349.
  • Initialize the register to 0xFFFFFFFFFFFFFFFF and use XorOut 0x0000000000000000 exactly as listed; changing either value defines a different model.
  • Verify the implementation with ASCII “123456789”; the expected result is 0x75D4B74F024ECEEA.

Continue with the main calculator, browse the algorithm catalog, compare models in the Algorithm Reference section, or generate a lookup table.

Complete CRC-64/MS parameters

CRC parameter guide
ParameterValueMeaningReference
Width64 bitsCRC register and result widthRead guide
Poly0x259C84CBA6426349Generator polynomial without the leading termRead guide
Init0xFFFFFFFFFFFFFFFFInitial CRC register valueRead guide
RefInYesReflect each input byte before processingRead guide
RefOutYesReflect the register before XOR OutRead guide
XorOut0x0000000000000000Final value XORed with the CRC registerRead guide
Check0x75D4B74F024ECEEACRC of ASCII “123456789”Read guide
ResidueNot listedExpected residue after appending a valid CRCRead guide
AliasesCRC-64/MS

Where CRC-64/MS is used

  • 01Microsoft protocols
  • 02CAB archives
  • 03Storage validation

CRC-64/MS FAQ

What is the check value for CRC-64/MS?

For the standard ASCII test input 123456789, the check value of CRC-64/MS is 0x75D4B74F024ECEEA.

What polynomial does CRC-64/MS use?

CRC-64/MS uses the 64-bit polynomial 0x259C84CBA6426349.

Does CRC-64/MS use reflected input and output?

For CRC-64/MS, RefIn is Yes and RefOut is Yes.

What is CRC-64/MS commonly confused with?

The closest published model by parameter overlap is CRC-64/GO-ISO, differing from CRC-64/MS in polynomial and final XOR value.