package main
import "fmt"
import "strconv"
const (
crc32mask uint = 4294967295
)
var (
crc32table = []uint{
0,
1996959894,
3993919788,
2567524794,
124634137,
1886057615,
3915621685,
2657392035,
249268274,
2044508324,
3772115230,
2547177864,
162941995,
2125561021,
3887607047,
2428444049,
498536548,
1789927666,
4089016648,
2227061214,
450548861,
1843258603,
4107580753,
2211677639,
325883990,
1684777152,
4251122042,
2321926636,
335633487,
1661365465,
4195302755,
2366115317,
997073096,
1281953886,
3579855332,
2724688242,
1006888145,
1258607687,
3524101629,
2768942443,
901097722,
1119000684,
3686517206,
2898065728,
853044451,
1172266101,
3705015759,
2882616665,
651767980,
1373503546,
3369554304,
3218104598,
565507253,
1454621731,
3485111705,
3099436303,
671266974,
1594198024,
3322730930,
2970347812,
795835527,
1483230225,
3244367275,
3060149565,
1994146192,
31158534,
2563907772,
4023717930,
1907459465,
112637215,
2680153253,
3904427059,
2013776290,
251722036,
2517215374,
3775830040,
2137656763,
141376813,
2439277719,
3865271297,
1802195444,
476864866,
2238001368,
4066508878,
1812370925,
453092731,
2181625025,
4111451223,
1706088902,
314042704,
2344532202,
4240017532,
1658658271,
366619977,
2362670323,
4224994405,
1303535960,
984961486,
2747007092,
3569037538,
1256170817,
1037604311,
2765210733,
3554079995,
1131014506,
879679996,
2909243462,
3663771856,
1141124467,
855842277,
2852801631,
3708648649,
1342533948,
654459306,
3188396048,
3373015174,
1466479909,
544179635,
3110523913,
3462522015,
1591671054,
702138776,
2966460450,
3352799412,
1504918807,
783551873,
3082640443,
3233442989,
3988292384,
2596254646,
62317068,
1957810842,
3939845945,
2647816111,
81470997,
1943803523,
3814918930,
2489596804,
225274430,
2053790376,
3826175755,
2466906013,
167816743,
2097651377,
4027552580,
2265490386,
503444072,
1762050814,
4150417245,
2154129355,
426522225,
1852507879,
4275313526,
2312317920,
282753626,
1742555852,
4189708143,
2394877945,
397917763,
1622183637,
3604390888,
2714866558,
953729732,
1340076626,
3518719985,
2797360999,
1068828381,
1219638859,
3624741850,
2936675148,
906185462,
1090812512,
3747672003,
2825379669,
829329135,
1181335161,
3412177804,
3160834842,
628085408,
1382605366,
3423369109,
3138078467,
570562233,
1426400815,
3317316542,
2998733608,
733239954,
1555261956,
3268935591,
3050360625,
752459403,
1541320221,
2607071920,
3965973030,
1969922972,
40735498,
2617837225,
3943577151,
1913087877,
83908371,
2512341634,
3803740692,
2075208622,
213261112,
2463272603,
3855990285,
2094854071,
198958881,
2262029012,
4057260610,
1759359992,
534414190,
2176718541,
4139329115,
1873836001,
414664567,
2282248934,
4279200368,
1711684554,
285281116,
2405801727,
4167216745,
1634467795,
376229701,
2685067896,
3608007406,
1308918612,
956543938,
2808555105,
3495958263,
1231636301,
1047427035,
2932959818,
3654703836,
1088359270,
936918000,
2847714899,
3736837829,
1202900863,
817233897,
3183342108,
3401237130,
1404277552,
615818150,
3134207493,
3453421203,
1423857449,
601450431,
3009837614,
3294710456,
1567103746,
711928724,
3020668471,
3272380065,
1510334235,
755167117,
}
)
// CRC32Compute inodeを求める
// key => 3208210256
func CRC32Compute(key string) uint {
num := crc32mask
for i := 0; i < len(key); i++ {
tableIndex := (num ^ uint(key[i])) & 255
num = crc32table[tableIndex] ^ num>>8
}
return num ^ crc32mask
}
func main(){
k := CRC32Compute("boss08_r06")
fmt.Println(k)
fmt.Println(strconv.FormatInt(int64(k), 16))
}
cGFja2FnZSBtYWluCmltcG9ydCAiZm10IgppbXBvcnQgInN0cmNvbnYiCgpjb25zdCAoCgljcmMzMm1hc2sgdWludCA9IDQyOTQ5NjcyOTUKKQoKdmFyICgKCWNyYzMydGFibGUgPSBbXXVpbnR7CgkJMCwKCQkxOTk2OTU5ODk0LAoJCTM5OTM5MTk3ODgsCgkJMjU2NzUyNDc5NCwKCQkxMjQ2MzQxMzcsCgkJMTg4NjA1NzYxNSwKCQkzOTE1NjIxNjg1LAoJCTI2NTczOTIwMzUsCgkJMjQ5MjY4Mjc0LAoJCTIwNDQ1MDgzMjQsCgkJMzc3MjExNTIzMCwKCQkyNTQ3MTc3ODY0LAoJCTE2Mjk0MTk5NSwKCQkyMTI1NTYxMDIxLAoJCTM4ODc2MDcwNDcsCgkJMjQyODQ0NDA0OSwKCQk0OTg1MzY1NDgsCgkJMTc4OTkyNzY2NiwKCQk0MDg5MDE2NjQ4LAoJCTIyMjcwNjEyMTQsCgkJNDUwNTQ4ODYxLAoJCTE4NDMyNTg2MDMsCgkJNDEwNzU4MDc1MywKCQkyMjExNjc3NjM5LAoJCTMyNTg4Mzk5MCwKCQkxNjg0Nzc3MTUyLAoJCTQyNTExMjIwNDIsCgkJMjMyMTkyNjYzNiwKCQkzMzU2MzM0ODcsCgkJMTY2MTM2NTQ2NSwKCQk0MTk1MzAyNzU1LAoJCTIzNjYxMTUzMTcsCgkJOTk3MDczMDk2LAoJCTEyODE5NTM4ODYsCgkJMzU3OTg1NTMzMiwKCQkyNzI0Njg4MjQyLAoJCTEwMDY4ODgxNDUsCgkJMTI1ODYwNzY4NywKCQkzNTI0MTAxNjI5LAoJCTI3Njg5NDI0NDMsCgkJOTAxMDk3NzIyLAoJCTExMTkwMDA2ODQsCgkJMzY4NjUxNzIwNiwKCQkyODk4MDY1NzI4LAoJCTg1MzA0NDQ1MSwKCQkxMTcyMjY2MTAxLAoJCTM3MDUwMTU3NTksCgkJMjg4MjYxNjY2NSwKCQk2NTE3Njc5ODAsCgkJMTM3MzUwMzU0NiwKCQkzMzY5NTU0MzA0LAoJCTMyMTgxMDQ1OTgsCgkJNTY1NTA3MjUzLAoJCTE0NTQ2MjE3MzEsCgkJMzQ4NTExMTcwNSwKCQkzMDk5NDM2MzAzLAoJCTY3MTI2Njk3NCwKCQkxNTk0MTk4MDI0LAoJCTMzMjI3MzA5MzAsCgkJMjk3MDM0NzgxMiwKCQk3OTU4MzU1MjcsCgkJMTQ4MzIzMDIyNSwKCQkzMjQ0MzY3Mjc1LAoJCTMwNjAxNDk1NjUsCgkJMTk5NDE0NjE5MiwKCQkzMTE1ODUzNCwKCQkyNTYzOTA3NzcyLAoJCTQwMjM3MTc5MzAsCgkJMTkwNzQ1OTQ2NSwKCQkxMTI2MzcyMTUsCgkJMjY4MDE1MzI1MywKCQkzOTA0NDI3MDU5LAoJCTIwMTM3NzYyOTAsCgkJMjUxNzIyMDM2LAoJCTI1MTcyMTUzNzQsCgkJMzc3NTgzMDA0MCwKCQkyMTM3NjU2NzYzLAoJCTE0MTM3NjgxMywKCQkyNDM5Mjc3NzE5LAoJCTM4NjUyNzEyOTcsCgkJMTgwMjE5NTQ0NCwKCQk0NzY4NjQ4NjYsCgkJMjIzODAwMTM2OCwKCQk0MDY2NTA4ODc4LAoJCTE4MTIzNzA5MjUsCgkJNDUzMDkyNzMxLAoJCTIxODE2MjUwMjUsCgkJNDExMTQ1MTIyMywKCQkxNzA2MDg4OTAyLAoJCTMxNDA0MjcwNCwKCQkyMzQ0NTMyMjAyLAoJCTQyNDAwMTc1MzIsCgkJMTY1ODY1ODI3MSwKCQkzNjY2MTk5NzcsCgkJMjM2MjY3MDMyMywKCQk0MjI0OTk0NDA1LAoJCTEzMDM1MzU5NjAsCgkJOTg0OTYxNDg2LAoJCTI3NDcwMDcwOTIsCgkJMzU2OTAzNzUzOCwKCQkxMjU2MTcwODE3LAoJCTEwMzc2MDQzMTEsCgkJMjc2NTIxMDczMywKCQkzNTU0MDc5OTk1LAoJCTExMzEwMTQ1MDYsCgkJODc5Njc5OTk2LAoJCTI5MDkyNDM0NjIsCgkJMzY2Mzc3MTg1NiwKCQkxMTQxMTI0NDY3LAoJCTg1NTg0MjI3NywKCQkyODUyODAxNjMxLAoJCTM3MDg2NDg2NDksCgkJMTM0MjUzMzk0OCwKCQk2NTQ0NTkzMDYsCgkJMzE4ODM5NjA0OCwKCQkzMzczMDE1MTc0LAoJCTE0NjY0Nzk5MDksCgkJNTQ0MTc5NjM1LAoJCTMxMTA1MjM5MTMsCgkJMzQ2MjUyMjAxNSwKCQkxNTkxNjcxMDU0LAoJCTcwMjEzODc3NiwKCQkyOTY2NDYwNDUwLAoJCTMzNTI3OTk0MTIsCgkJMTUwNDkxODgwNywKCQk3ODM1NTE4NzMsCgkJMzA4MjY0MDQ0MywKCQkzMjMzNDQyOTg5LAoJCTM5ODgyOTIzODQsCgkJMjU5NjI1NDY0NiwKCQk2MjMxNzA2OCwKCQkxOTU3ODEwODQyLAoJCTM5Mzk4NDU5NDUsCgkJMjY0NzgxNjExMSwKCQk4MTQ3MDk5NywKCQkxOTQzODAzNTIzLAoJCTM4MTQ5MTg5MzAsCgkJMjQ4OTU5NjgwNCwKCQkyMjUyNzQ0MzAsCgkJMjA1Mzc5MDM3NiwKCQkzODI2MTc1NzU1LAoJCTI0NjY5MDYwMTMsCgkJMTY3ODE2NzQzLAoJCTIwOTc2NTEzNzcsCgkJNDAyNzU1MjU4MCwKCQkyMjY1NDkwMzg2LAoJCTUwMzQ0NDA3MiwKCQkxNzYyMDUwODE0LAoJCTQxNTA0MTcyNDUsCgkJMjE1NDEyOTM1NSwKCQk0MjY1MjIyMjUsCgkJMTg1MjUwNzg3OSwKCQk0Mjc1MzEzNTI2LAoJCTIzMTIzMTc5MjAsCgkJMjgyNzUzNjI2LAoJCTE3NDI1NTU4NTIsCgkJNDE4OTcwODE0MywKCQkyMzk0ODc3OTQ1LAoJCTM5NzkxNzc2MywKCQkxNjIyMTgzNjM3LAoJCTM2MDQzOTA4ODgsCgkJMjcxNDg2NjU1OCwKCQk5NTM3Mjk3MzIsCgkJMTM0MDA3NjYyNiwKCQkzNTE4NzE5OTg1LAoJCTI3OTczNjA5OTksCgkJMTA2ODgyODM4MSwKCQkxMjE5NjM4ODU5LAoJCTM2MjQ3NDE4NTAsCgkJMjkzNjY3NTE0OCwKCQk5MDYxODU0NjIsCgkJMTA5MDgxMjUxMiwKCQkzNzQ3NjcyMDAzLAoJCTI4MjUzNzk2NjksCgkJODI5MzI5MTM1LAoJCTExODEzMzUxNjEsCgkJMzQxMjE3NzgwNCwKCQkzMTYwODM0ODQyLAoJCTYyODA4NTQwOCwKCQkxMzgyNjA1MzY2LAoJCTM0MjMzNjkxMDksCgkJMzEzODA3ODQ2NywKCQk1NzA1NjIyMzMsCgkJMTQyNjQwMDgxNSwKCQkzMzE3MzE2NTQyLAoJCTI5OTg3MzM2MDgsCgkJNzMzMjM5OTU0LAoJCTE1NTUyNjE5NTYsCgkJMzI2ODkzNTU5MSwKCQkzMDUwMzYwNjI1LAoJCTc1MjQ1OTQwMywKCQkxNTQxMzIwMjIxLAoJCTI2MDcwNzE5MjAsCgkJMzk2NTk3MzAzMCwKCQkxOTY5OTIyOTcyLAoJCTQwNzM1NDk4LAoJCTI2MTc4MzcyMjUsCgkJMzk0MzU3NzE1MSwKCQkxOTEzMDg3ODc3LAoJCTgzOTA4MzcxLAoJCTI1MTIzNDE2MzQsCgkJMzgwMzc0MDY5MiwKCQkyMDc1MjA4NjIyLAoJCTIxMzI2MTExMiwKCQkyNDYzMjcyNjAzLAoJCTM4NTU5OTAyODUsCgkJMjA5NDg1NDA3MSwKCQkxOTg5NTg4ODEsCgkJMjI2MjAyOTAxMiwKCQk0MDU3MjYwNjEwLAoJCTE3NTkzNTk5OTIsCgkJNTM0NDE0MTkwLAoJCTIxNzY3MTg1NDEsCgkJNDEzOTMyOTExNSwKCQkxODczODM2MDAxLAoJCTQxNDY2NDU2NywKCQkyMjgyMjQ4OTM0LAoJCTQyNzkyMDAzNjgsCgkJMTcxMTY4NDU1NCwKCQkyODUyODExMTYsCgkJMjQwNTgwMTcyNywKCQk0MTY3MjE2NzQ1LAoJCTE2MzQ0Njc3OTUsCgkJMzc2MjI5NzAxLAoJCTI2ODUwNjc4OTYsCgkJMzYwODAwNzQwNiwKCQkxMzA4OTE4NjEyLAoJCTk1NjU0MzkzOCwKCQkyODA4NTU1MTA1LAoJCTM0OTU5NTgyNjMsCgkJMTIzMTYzNjMwMSwKCQkxMDQ3NDI3MDM1LAoJCTI5MzI5NTk4MTgsCgkJMzY1NDcwMzgzNiwKCQkxMDg4MzU5MjcwLAoJCTkzNjkxODAwMCwKCQkyODQ3NzE0ODk5LAoJCTM3MzY4Mzc4MjksCgkJMTIwMjkwMDg2MywKCQk4MTcyMzM4OTcsCgkJMzE4MzM0MjEwOCwKCQkzNDAxMjM3MTMwLAoJCTE0MDQyNzc1NTIsCgkJNjE1ODE4MTUwLAoJCTMxMzQyMDc0OTMsCgkJMzQ1MzQyMTIwMywKCQkxNDIzODU3NDQ5LAoJCTYwMTQ1MDQzMSwKCQkzMDA5ODM3NjE0LAoJCTMyOTQ3MTA0NTYsCgkJMTU2NzEwMzc0NiwKCQk3MTE5Mjg3MjQsCgkJMzAyMDY2ODQ3MSwKCQkzMjcyMzgwMDY1LAoJCTE1MTAzMzQyMzUsCgkJNzU1MTY3MTE3LAoJfQopCgovLyBDUkMzMkNvbXB1dGUgaW5vZGXjgpLmsYLjgoHjgosKLy8ga2V5ID0+IDMyMDgyMTAyNTYKZnVuYyBDUkMzMkNvbXB1dGUoa2V5IHN0cmluZykgdWludCB7CgludW0gOj0gY3JjMzJtYXNrCglmb3IgaSA6PSAwOyBpIDwgbGVuKGtleSk7IGkrKyB7CgkJdGFibGVJbmRleCA6PSAobnVtIF4gdWludChrZXlbaV0pKSAmIDI1NQoJCW51bSA9IGNyYzMydGFibGVbdGFibGVJbmRleF0gXiBudW0+PjgKCX0KCXJldHVybiBudW0gXiBjcmMzMm1hc2sKfQoKCmZ1bmMgbWFpbigpewoJayA6PSBDUkMzMkNvbXB1dGUoImJvc3MwOF9yMDYiKQoJZm10LlByaW50bG4oaykKCWZtdC5QcmludGxuKHN0cmNvbnYuRm9ybWF0SW50KGludDY0KGspLCAxNikpCn0=