4

First off, forgive me if this seems like an extremely naive and un-educated question. Any ways, so as above, is it a bad idea? I mean, thinking about it, it doesn't seem like a bad idea. My logic is this:

Sites should store passwords securely anyway, with salts and hashes (and sometimes peppers). Using a standard password such as Password (for examples sake only) this would be salted and hashed into a much more "unreadable" format for storage when used for an account on a website. If done as it should be, should take a while for anyone to decrypt the password.

Now if I base-64 Password into UGFzc3dvcmQ= and then use that as my password - I already have an additional 3 characters and then included that being salted and hashed - Should create a more secure hashed password? Right?

Does base 64 ultimately cause a password to be any more secure? Do websites either base-64 encode / decode before salting and hashing?

I get that if someone does manage to get the password DB and has a list of all the hashes, and assuming they manage to decrypt my password back to UGFzc3dvcmQ= I get that its an easy guess to base 64 decode it, as its an obvious looking string.

Ultimately, will it serve me better using base 64 encoded password as opposed to full on cleartext? Also, what if I perform multiple encodings adding additional characters between encodes? For example:

password > UGFzc3dvcmQ= > U**E**GFz**n**c3**C**dv**o**cm**d**Q**E**= > VUVHRnpuYzNDZHZvY21kUUU9
5

All questions of the type "Will this clever trick make my password any safer?" depends on the same thing: What passwords does the attacker try first when brute forcing the hash? The person attacking you is not stupid, and she will try the things that are most likely to succeed first, and the less likely ones later.

Unless the attacker is specifically targeting you, and knows about your encoding scheme, she is more likely to try the unencoded password before the encoded password. So in that sense, this is a win for you (at least until everybody starts doing it and it gets so common attackers starts trying this kind of thing early).

But is it very practical? Are you going to memorize the encoded string? Then why not just memorize something random (and thereby safer) instead? Are you going to use some online service to encode the password every time you use it? Then you might have it sent over HTTP and recorded in logs all over the internet, and thats not very good. So are you going to install some software thad does the encoding locally? Then why not just install a real password manager instead?

So yes, in a narrow sense UGFzc3dvcmQ= is a better password than password. But no, this does not alleviate the need for completely random passwords and password managers.

  • (Can't edit my comment - And I forgot enter "submits" I see what you mean. few details: Use NP++ for encode funciton - no logs and no need to memorise the encoded string. Why would atckr know to try an encoded string? unless it is something commonly done? also, caps or no will affect the encoded output thus increasing the number of possibilites said attacker will need to try, as they would have no idea where I had caps or not. I have been considering a PW Manager - so many choices, hard to know which is best. Could I ask which you would reccomned? – matthew walker Dec 22 '16 at 11:39
  • 2
    NP++ is a better idea than some random web service, indeed. I would still advice you to pick a reasonably strong "seed password" to encode. But it is still sort of a hazzle, you are more vulnerable to shoulder surfing, and you have to put it in the copy paste memory. So I agree it is better than using a weak password, but I would advice just using a password manager instead. – Anders Dec 22 '16 at 11:47
1

As long as your password is complex enough, not dictionary based etc it makes no difference how you remember it. It's how it's stored and secured that counts. Adding an extra step by B64 encoding it won't make it any more secure if the result is then just stored as an MD5 hash.

What you are doing though is moving away from usability towards security with a dose of impracticality for the end user. :)

0

Think about it like this. When you choose a password for an account on a website you have to rely on the website that it does a proper job of hashing the password. Choosing a weak password like 'password' and encoding (encoding offers really no benefit to plain text passwords, here is a site were you can decode base64 encoded strings: https://www.base64decode.org/) is always a bad idea because your password can be badly secured in their database. So first choose a password that is unique, long enough and random. These kind of weird constructs of encoding adding characters and encoding again are totally unnecessary, my advice is to just use a password manager that can generate (and remind) good random password for you.

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.