-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Peterson Fernandes edited this page Aug 16, 2026
·
3 revisions
A native C# port of the RAHasher 1.8.3 hashing engine (rcheevos 12.4.0) that produces 100% identical RetroAchievements hashes — the same hashes the RetroAchievements website and its clients use to identify ROMs and disc images.
-
Library —
RetroAchievementsSharpon NuGet, targetsnet8.0,net9.0,net10.0; GPL-2.0-or-later. -
CLI —
RetroAchievementsSharp.Cli.exe, byte-identical in behavior to RAHasher 1.8.3, plus convenience subcommands (scan,identify,consoles,checkkeys,fetch-db). - Verified — 415/415 fast + 172/172 slow tests green on each supported TFM, including a Tier-2 parity harness against source-built C oracles.
using RetroAchievementsSharp;
if (RcHash.GenerateFromFile(out string hash, ConsoleIds.RcConsoleNintendo, "game.nes"))
Console.WriteLine(hash); // 32 hex chars — matches the published RA hashRetroAchievementsSharp NES game.nes
RetroAchievementsSharp PS1 disc.cue
RetroAchievementsSharp -s C:\RetroArch\system 3DS game.ciaRaw ROMs (all cartridge consoles), .zip (pre-loaded ROM, Arduboy FX,
DOSZ/Zip64/DOSC), .m3u playlists, discs (.cue/.bin/.iso/.gdi/.chd,
GameCube/Wii .rvz/.wia), 3DS .cia/.3ds/.3dsx (keys via -s /
Hash3Ds.InitHash3Ds), and Neo Geo .neo carts.
- LeXofLeviafan — author of the RALibretro RAHasher CLI this project is behaviorally compatible with and that we use as the reference oracle in our parity test suite.
- RetroAchievements / rcheevos — the hashing engine, ported 1:1 (MIT).
Full documentation site: https://purelogiccode.github.io/RetroAchievementsSharp/