Replace SHA1 with adler32. For simple purposes of checking to see if players are playing the same map, this should be quite adequate and runs 15 times faster.
{"rounds1", QT_TRANSLATE_NOOP("achievements", "No complete Newbie!"), QT_TRANSLATE_NOOP("achievements", "Manage to survive %1 games playing on the official server, no matter if it's a draw or win."), "nonewb", "1", ""},
{"rounds2", QT_TRANSLATE_NOOP("achievements", "Getting used to it!"), QT_TRANSLATE_NOOP("achievements", "Manage to survive %1 games playing on the official server, no matter if it's a draw or win."), "getused", "25", ""},
{"rounds3", QT_TRANSLATE_NOOP("achievements", "Backyard Veteran"), QT_TRANSLATE_NOOP("achievements", "Manage to survive %1 games playing on the official server, no matter if it's a draw or win."), "veteran", "100", ""},
{"rounds4", QT_TRANSLATE_NOOP("achievements", "1001 Stories to tell"), QT_TRANSLATE_NOOP("achievements", "Manage to survive %1 games playing on the official server, no matter if it's a draw or win."), "stories", "1001", ""},
{"rope1", QT_TRANSLATE_NOOP("achievements", "Big Swing"), QT_TRANSLATE_NOOP("achievements", "Bridge 1000 pixels while using one rope."), "bgswing", "1", ""},
{"rope2", QT_TRANSLATE_NOOP("achievements", "Spider Hog"), QT_TRANSLATE_NOOP("achievements", "Bridge 3000 pixels while using one rope."), "spider", "1", "hidden"},
{"skipping", QT_TRANSLATE_NOOP("achievements", "Skipped"), QT_TRANSLATE_NOOP("achievements", "Let a single hog skip over the surface of the water for at least 5 times."), "skipped", "1", "hidden"},
{"cgunman", QT_TRANSLATE_NOOP("achievements", "Crazy Gunman"), QT_TRANSLATE_NOOP("achievements", "Eliminate 3 hogs with a single shot of the sniper rifle."), "cgunman", "1", ""},