Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Decodes a password from HeidiSQL. HeidiSQL passwords can be found in the registry. Use File -> Export Settings to dump all settings. Great for if you forget a password.
function heidiDecode(hex) {
var str = '';
var shift = parseInt(hex.substr(-1));
hex = hex.substr(0, hex.length - 1);
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16) - shift);
return str;
Copy link

joeyhub commented Aug 23, 2018

PHP Decode:

php -r '$p=$argv[1];$s=substr($p,-1); echo implode(array_map(function($c)use($s){return chr($c - $s);},unpack("C*",hex2bin(substr($p,0,-1)))));' 303132333435363738390

Note that PHP's chr wraps negative numbers properly. Not all languages will do this. You may need ($c+256-$s)%256. To test for that you should see if whatever you're using for chr produces the same for 0 - s as 256 - s.

If you're encoding your own password (generating conf)...

php -r 'echo bin2hex("Sweet as a corn that'\''s not yet born."), 0;'

There's no point to bother shifting it. Shifting and hex encoding is so weak it might as well be plain text.

Copy link

joeyhub commented Aug 23, 2018

@wendyliga Do you have everyone's password now :D?

Copy link

Gicheha commented Oct 10, 2018

you are a lifesaver

Copy link

DRSDavidSoft commented Dec 25, 2018

Thank you!

Copy link

yani commented Jan 2, 2019


Copy link

cpereiraweb commented Jan 31, 2019


Copy link

meysam-mo commented Feb 24, 2019

Wow !! tnx

Copy link

rudikom commented Nov 5, 2019

thank you,,

Copy link

Godtooro commented Mar 31, 2020

Awesome! Thank u! We owe you one.
All the best.

Copy link

IsraelIglesiasBIT commented Apr 3, 2020

And how encode a password?

I need to generate a settings file for Heidi with php for my all databases connections?

Copy link

jordihernandez commented Jun 30, 2020

Thank you!

Copy link

Pes8 commented Aug 2, 2021

Thank You all :)

Copy link

erickcomp commented Apr 25, 2022

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment