I want to update the camera software - does anyone know where I can get the hash of a D3100_0102.bin file?

I just want to be sure it hasn't been tampered with, download and unzipping were ok etc. I couldn't find anything about update file hash on Nikon website.

Thanks in advance.

  • 1
    It occurred to me, after I posted my answer, that you're after the hash of the .bin file, not a way of calculating one from an arbitrary file. Is this the case? I'd like to think that the bin file was signed in some way which the phone checked before proceeding with installation, but that's not a certainty, and even that would only protect against accidental changes. – user3739 Jan 25 '14 at 21:24
  • What problem are you actually trying to solve here? As mattdm's answer points out, if it's a corrupt download you're worried about, you don't need a hash because the firmware updater handles that. If it's something more malicious, then you want something more secure than a hash. – Philip Kendall Jan 26 '14 at 21:59

If you are concerned about tampering, you really need the file to be signed cryptographically; Nikon doesn't do that.

If your concern is simply that a download might be corrupt (or that your flash card might have an error that corrupts the file), don't worry. The firmware has an internal checksum checked by the camera's firmware updater. (Details for some models including your D3100 have been reverse engineered; more here.)

If you are really concerned, you could simply do an MD5 or SHA2 (or whatever hash), and ask several other people to do the same, and then compare after. This would at least give pretty good assurance that you are getting the same file.


If Nikon doesn't supply it, I doubt there is anyone else you can trust to supply the hash. If you've downloaded it off the Nikon website it should be safe.


Not sure which OS you're using. For Windows, I use fciv from Microsoft (http://support.microsoft.com/kb/841290) which creates MD5 and SHA1 checksums.


The MD5 HASH for the D3100 1.02 firmware (D3100_0102.bin) is 0x30, 0xB1, 0x12, 0x1F, 0x22, 0x22, 0x11, 0x20, 0x95, 0xFF, 0xD2, 0x34, 0x31, 0xD4, 0x97, 0x15

That was pulled off the Nikon site, and is the hash I've used in my patching tool to make sure it's the real firmware, and many people have pulled the firmware from Nikon and used my tool with zero "mismatch" so, I'd trust the above value.

  • 1
    Putting my paranoid security hat on: why should I trust you? Maybe you're part of the NSA conspiracy which has hacked the Nikon site and is trying to get dodgy firmware onto my camera. – Philip Kendall Jan 26 '14 at 22:00
  • The NSA wouldn't do it that way. Instead, they go to the company and make them an "offer they can't refuse", and the official binary ends up being compromised at the source. And since either is not open source, there is no way to verify that that hasn't happened, although I'm having trouble imagining how exactly this scenario plays out in the limited hardware of a DSLR. – mattdm Jan 27 '14 at 3:53
  • You shouldn't trust me, but I do write the patch tool for the Nikon Hacking project, so people have trusted me. – Simeon Pilgrim Jan 28 '14 at 21:36
  • And more to the point, the website pointed to in the selected answer is my blog. – Simeon Pilgrim Jun 24 '14 at 4:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.