9
คำนวณแฮช CRC32
เครดิต ความท้าทายนี้มาจาก@miles สร้างฟังก์ชันที่คำนวณแฮช CRC32 ของสตริงอินพุต อินพุตจะเป็นสตริง ASCII ของความยาวใด ๆ เอาต์พุตจะเป็นแฮช CRC32 ของสตริงอินพุตนั้น คำอธิบาย อัลกอริทึมของ CRC32 และ CRC อื่น ๆ นั้นมีความเหมือนกันดังนั้น CRC3 เท่านั้นที่จะแสดงที่นี่ ก่อนอื่นคุณมีพหุนามกำเนิดซึ่งจริงแล้วเป็นจำนวนเต็ม 4 บิต [n + 1] (จะเป็น 33 บิตใน CRC32) 1101ในตัวอย่างนี้พหุนามกำเนิดคือ 00010010111100101011001101จากนั้นคุณจะมีสตริงที่จะถกกันซึ่งในตัวอย่างนี้จะเป็น 00010010111100101011001101|000 (1) append three [n] "0"s 1101 (2) align with highest bit 00001000111100101011001101|000 (3) XOR (1) …