fork download
  1. package main
  2. import "fmt"
  3. import "strconv"
  4.  
  5. const (
  6. crc32mask uint = 4294967295
  7. )
  8.  
  9. var (
  10. crc32table = []uint{
  11. 0,
  12. 1996959894,
  13. 3993919788,
  14. 2567524794,
  15. 124634137,
  16. 1886057615,
  17. 3915621685,
  18. 2657392035,
  19. 249268274,
  20. 2044508324,
  21. 3772115230,
  22. 2547177864,
  23. 162941995,
  24. 2125561021,
  25. 3887607047,
  26. 2428444049,
  27. 498536548,
  28. 1789927666,
  29. 4089016648,
  30. 2227061214,
  31. 450548861,
  32. 1843258603,
  33. 4107580753,
  34. 2211677639,
  35. 325883990,
  36. 1684777152,
  37. 4251122042,
  38. 2321926636,
  39. 335633487,
  40. 1661365465,
  41. 4195302755,
  42. 2366115317,
  43. 997073096,
  44. 1281953886,
  45. 3579855332,
  46. 2724688242,
  47. 1006888145,
  48. 1258607687,
  49. 3524101629,
  50. 2768942443,
  51. 901097722,
  52. 1119000684,
  53. 3686517206,
  54. 2898065728,
  55. 853044451,
  56. 1172266101,
  57. 3705015759,
  58. 2882616665,
  59. 651767980,
  60. 1373503546,
  61. 3369554304,
  62. 3218104598,
  63. 565507253,
  64. 1454621731,
  65. 3485111705,
  66. 3099436303,
  67. 671266974,
  68. 1594198024,
  69. 3322730930,
  70. 2970347812,
  71. 795835527,
  72. 1483230225,
  73. 3244367275,
  74. 3060149565,
  75. 1994146192,
  76. 31158534,
  77. 2563907772,
  78. 4023717930,
  79. 1907459465,
  80. 112637215,
  81. 2680153253,
  82. 3904427059,
  83. 2013776290,
  84. 251722036,
  85. 2517215374,
  86. 3775830040,
  87. 2137656763,
  88. 141376813,
  89. 2439277719,
  90. 3865271297,
  91. 1802195444,
  92. 476864866,
  93. 2238001368,
  94. 4066508878,
  95. 1812370925,
  96. 453092731,
  97. 2181625025,
  98. 4111451223,
  99. 1706088902,
  100. 314042704,
  101. 2344532202,
  102. 4240017532,
  103. 1658658271,
  104. 366619977,
  105. 2362670323,
  106. 4224994405,
  107. 1303535960,
  108. 984961486,
  109. 2747007092,
  110. 3569037538,
  111. 1256170817,
  112. 1037604311,
  113. 2765210733,
  114. 3554079995,
  115. 1131014506,
  116. 879679996,
  117. 2909243462,
  118. 3663771856,
  119. 1141124467,
  120. 855842277,
  121. 2852801631,
  122. 3708648649,
  123. 1342533948,
  124. 654459306,
  125. 3188396048,
  126. 3373015174,
  127. 1466479909,
  128. 544179635,
  129. 3110523913,
  130. 3462522015,
  131. 1591671054,
  132. 702138776,
  133. 2966460450,
  134. 3352799412,
  135. 1504918807,
  136. 783551873,
  137. 3082640443,
  138. 3233442989,
  139. 3988292384,
  140. 2596254646,
  141. 62317068,
  142. 1957810842,
  143. 3939845945,
  144. 2647816111,
  145. 81470997,
  146. 1943803523,
  147. 3814918930,
  148. 2489596804,
  149. 225274430,
  150. 2053790376,
  151. 3826175755,
  152. 2466906013,
  153. 167816743,
  154. 2097651377,
  155. 4027552580,
  156. 2265490386,
  157. 503444072,
  158. 1762050814,
  159. 4150417245,
  160. 2154129355,
  161. 426522225,
  162. 1852507879,
  163. 4275313526,
  164. 2312317920,
  165. 282753626,
  166. 1742555852,
  167. 4189708143,
  168. 2394877945,
  169. 397917763,
  170. 1622183637,
  171. 3604390888,
  172. 2714866558,
  173. 953729732,
  174. 1340076626,
  175. 3518719985,
  176. 2797360999,
  177. 1068828381,
  178. 1219638859,
  179. 3624741850,
  180. 2936675148,
  181. 906185462,
  182. 1090812512,
  183. 3747672003,
  184. 2825379669,
  185. 829329135,
  186. 1181335161,
  187. 3412177804,
  188. 3160834842,
  189. 628085408,
  190. 1382605366,
  191. 3423369109,
  192. 3138078467,
  193. 570562233,
  194. 1426400815,
  195. 3317316542,
  196. 2998733608,
  197. 733239954,
  198. 1555261956,
  199. 3268935591,
  200. 3050360625,
  201. 752459403,
  202. 1541320221,
  203. 2607071920,
  204. 3965973030,
  205. 1969922972,
  206. 40735498,
  207. 2617837225,
  208. 3943577151,
  209. 1913087877,
  210. 83908371,
  211. 2512341634,
  212. 3803740692,
  213. 2075208622,
  214. 213261112,
  215. 2463272603,
  216. 3855990285,
  217. 2094854071,
  218. 198958881,
  219. 2262029012,
  220. 4057260610,
  221. 1759359992,
  222. 534414190,
  223. 2176718541,
  224. 4139329115,
  225. 1873836001,
  226. 414664567,
  227. 2282248934,
  228. 4279200368,
  229. 1711684554,
  230. 285281116,
  231. 2405801727,
  232. 4167216745,
  233. 1634467795,
  234. 376229701,
  235. 2685067896,
  236. 3608007406,
  237. 1308918612,
  238. 956543938,
  239. 2808555105,
  240. 3495958263,
  241. 1231636301,
  242. 1047427035,
  243. 2932959818,
  244. 3654703836,
  245. 1088359270,
  246. 936918000,
  247. 2847714899,
  248. 3736837829,
  249. 1202900863,
  250. 817233897,
  251. 3183342108,
  252. 3401237130,
  253. 1404277552,
  254. 615818150,
  255. 3134207493,
  256. 3453421203,
  257. 1423857449,
  258. 601450431,
  259. 3009837614,
  260. 3294710456,
  261. 1567103746,
  262. 711928724,
  263. 3020668471,
  264. 3272380065,
  265. 1510334235,
  266. 755167117,
  267. }
  268. )
  269.  
  270. // CRC32Compute inodeを求める
  271. // key => 3208210256
  272. func CRC32Compute(key string) uint {
  273. num := crc32mask
  274. for i := 0; i < len(key); i++ {
  275. tableIndex := (num ^ uint(key[i])) & 255
  276. num = crc32table[tableIndex] ^ num>>8
  277. }
  278. return num ^ crc32mask
  279. }
  280.  
  281.  
  282. func main(){
  283. k := CRC32Compute("boss08_r06")
  284. fmt.Println(k)
  285. fmt.Println(strconv.FormatInt(int64(k), 16))
  286. }
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
198269633
bd15ac1