Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Microsoft Security Privacy News Your Rights Online

Hotmail No Longer Accepts Long Passwords, Shortens Them For You 497

An anonymous reader writes "Microsoft doesn't like long passwords. In fact, the software giant not only won't let you use a really long one in Hotmail, but the company recently started prompting users to only enter the first 16 characters of their password. Let me rephrase that: if you have a password that has more than 16 characters, it will no longer work. Microsoft is making your life easier! You no longer have to input your whole password! Just put in the first 16 characters!" At least they warn you; I've run into some sites over the years that silently drop characters after an arbitrary limit.
This discussion has been archived. No new comments can be posted.

Hotmail No Longer Accepts Long Passwords, Shortens Them For You

Comments Filter:
  • by Anonymous Coward on Friday September 21, 2012 @07:58PM (#41417011)

    That's enough for hotmail !!

    • Re: (Score:2, Informative)

      by sexconker ( 1179573 )

      Where in the hell do you get 5 bits from?
      A-Za-z alone gets you past that (52), add in 0-9 and some symbols and you'll be well past 64 (2^6).

      My KeePass database lists my Hotmail address's password as having 99 bits of entropy.

      • Fair argument, AC probably just miscounted, they were only off by one after all. On the other hand if you assume a non-random character distribution the actual bits-per-character are considerably lower - for example even a very crude non-predictive Huffman coding of the english language reduces common characters to three bits or less, more efficient encodings can reduce that even farther, I could see the average easily falling below 5 bits, and quite possibly below 4, even after factoring in the mangling t

      • by RKBA ( 622932 ) on Saturday September 22, 2012 @01:39AM (#41419019)

        Where in the hell do you get 5 bits from?

        It's the old Baudot code [] young whippersnapper. Haven't you ever used TTYs or paper tape writer/readers?
        Get off my lawn!

    • by rtfa-troll ( 1340807 ) on Saturday September 22, 2012 @01:34AM (#41419001)

      That's enough for hotmail !!

      An AC makes a reasonable on topic first post with a more or less accurate entropy count (note that both sexconker and Immerman's posts are right; since most users will get a-z with first letter capitalized and a single numerical substiution you get about 26 variations per character + 2 bits for the substitution that gets you less than five bits per character; of course if you use a password safe then you can use A-Za-z1-9 + about 20 - 30 punctuation characters depending on your keyboard, for about 90 characters giving you just over six bits). The only possible explanation that it gets modded to zero immediately is that it's anti-Microsoft and the shills are out with their large number of mod points as ever.

      Now, for the next trick. If you store passwords as a hash, as you are supposed to, then there is no way to shorten them since without the end of the password you won't be able to make the hash match. This means that at least somewhere Hotmail is storing passwords in plaintext. That's actually a much worse breach than having limited passwords since there is no way for the user to overcome it.

      AC's post was excellently insightful. It should be modded back up to infinity.

      • by JImbob0i0 ( 1202835 ) on Saturday September 22, 2012 @04:06AM (#41419477)

        It's feasible that the first time you log in since this was introduced that if the password validates then it gets truncated and the has based on the first 16 characters is stored.

        Once that's done any future password could be truncated to 16 and compared with the new hash based on the first 16...

        That way you can safely transition from one for to another without passwords stored in plain text.

      • It's been trimming password to the first 16 chars for a while now. I only found out because Messenger only allows 16 chars in the password field, and when I would paste from KeePass my (longer) password I had set in the website, I'd get a beep.
    • by Guignol ( 159087 ) on Saturday September 22, 2012 @02:41AM (#41419203)
      I could swear I have seen this somewhere else:
      "16 chars ought to be enough for anyone"
  • by Anonymous Coward

    12 letters, no special characters my ass.

    No, you may not know which bank I use.

    • by rwa2 ( 4391 ) * on Friday September 21, 2012 @08:13PM (#41417193) Homepage Journal

      At least they warn you; I've run into some sites over the years that silently drop characters after an arbitrary limit.

      Nah, they'd never do that at a reputable large financial institution... like, say,

      Maybe they somehow figured out how to make money from handling fraud claims?

      • by Anrego ( 830717 ) * on Friday September 21, 2012 @08:45PM (#41417487)

        Stupid as this whole thing is, Microsoft does make one good point.

        With the ease of phishing and harvesting passwords from other services where the user has used the same one.. who is gonna bother brute forcing a password.

        It's like if your car has a notoriously easy to pick lock.. but you park in a parking lot where no one else even bothers locking theirs (and some have even had their doors removed for even more convenience..)

        • How can brute force work on a web site sign in page? I would think banks code the site to stop brute force password input. im no programmer that's why i ask.
          • by Anrego ( 830717 ) * on Friday September 21, 2012 @09:25PM (#41417793)

            It's kind of a back and forth game..

            You can't outright block access to an account after a certain number of tries because that creates an easy way to denial of service (someone can lock you out of your account just by entering a few bogus passwords). So you either block after a certain number of failed attempts (at which point botnets come into play) or install a captcha (at which point standard spam-level anti-captcha stuff comes into play.

            But my original point was that there are so many much easier ways to get accounts, why is anyone going to go through all that trouble.

            There is an argument for brute forcing when someone has broken into a server and stolen a list of hashed passwords (as then they can crank away at them all they want) so limiting to 16 chars kinda makes that a bit easier.. but I still think given hotmails user base they could easily just check against hashes for "password123" and get more than enough hits to make it not worth going further...

            • by Anonymous Coward on Friday September 21, 2012 @09:40PM (#41417875)
              The real question is how were they able to truncate your password if they used a hash?
              • by Immerman ( 2627577 ) on Friday September 21, 2012 @11:12PM (#41418475)

                Exactly. The fact that they can do this practically screams "We haven't bothered to implement even the most basic security precautions on our password database!" I mean come on - wasn't it established that storing recoverable passwords was a bad idea back in the text-only mainframe days? I could kind of understand it if it was some backwater site created by a high-school computer wiz, but Microsoft? Sigh. Yeah *sure* I'll trust your security software to keep my home PC safe - after all you're the company that did such a great job on the OS itself that running separate security software is practically mandatory.

              • by 1u3hr ( 530656 ) on Friday September 21, 2012 @11:38PM (#41418575)

                The real question is how were they able to truncate your password if they used a hash?

                Maybe they always truncated the password, just didn't tell you.

              • That was my first question too.

                A proper hash setup should flag only part of a password as wrong with no way of knowing if you were close or not. This is clearly screwed up. Either the hash is deliberately weak, or some idiot admin cracked the whole damn table and made it just 16 characters ... Which is even WORSE!

                • by DarkOx ( 621550 )

                  There is a way to do it securely (well as secure are max 16 char passwords are).

                  1. Collect plaintext from the user
                  2. hash the plaintext and validate against the old password db
                  3. If success, then truncate the plain text and store the new hash.
                  4. overwrite the old hash with some flag value, like say all NULLs
                  5. Wait until the old password database is all NULL and dump it.

            • by Bert64 ( 520050 )

              If you block access to an account, you create a denial of service opportunity. The idea of account lockouts is thus utterly ridiculous.

              And you do nothing to someone who takes the opposite approach - try thousands of accounts with a single password (where on a system as large as hotmail, someone will have "Password1" or similar.

              Instead you really should block the source address of any obvious attacks, which while obviously not perfect (botnets, proxies etc) is at least moderately more effective.

          • by Immerman ( 2627577 ) on Friday September 21, 2012 @11:03PM (#41418437)

            Actually it's not that hard to "outsmart" brute-forcing - two simplistic ways are to insert a verification delay (artificial or computational depending on the situation) so that brute force attempts will generally takes months or years to succeed, or just block any attacker that makes multiple attempt faster than a human could reasonably be expected to. Even a really lax limit like blocking an attacking IP for a day after five failed attempts in a minute will block upwards of 90% of brute-force attempts and probably won't effect legitimate users at all.

            Think of it as somewhat analogous to being the doorman at a speakeasy or illegal gamblng joint - you know, the guy in the movies that spends all night opening the tiny window and saying "Password?". It not exactly hard for him to tell when someone is just repeatedly knocking on the door and guessing wildly and politely ask him to leave while they still only have a few broken ribs.

      • by roc97007 ( 608802 ) on Friday September 21, 2012 @09:27PM (#41417803) Journal

        > Nah, they'd never do that at a reputable large financial institution... like, say,

        Yeah. As you probably know, when you activate an AmEx corporate card, they require you to create a pin, and the voicemail says to use something you will remember, like the month/day of your mom's birthday.

        The automated system will actually REJECT a pin that is not a valid month/day. (Well cool. 366 total possibilities. That's not easy to brute-force at all.) I futzed with the system until I got a real person, and insisted I wanted to use a randomly generated number instead (which didn't happen to be a valid month/day). He said he couldn't do that, it had to be a date. He asked me for my mom's birthday and said he would set it to that. (My theory is that they do this to cut down on service calls.) I pointed out that this string could be uncovered by anyone with facebook access. He said that this is what it had to be. I went over his head. Eventually I found someone with the authority to set the pin to a string of my choosing. As far as I know, I'm the only AmEx card holder who has a pin set to something other than the customer's mother's birthday.

        This information (that AmEx has this requirement), could be of huge use to phishers were it ever, you know, published in a public forum.

      • by metalmonkey ( 1083851 ) on Friday September 21, 2012 @09:51PM (#41417953) Homepage

        americanexpress was the worst, the 'Set password' page input field was limited to the maximum number of characters however the 'Login' page was not.

        So if my password is: 'myreallylongpassword', it would appear accept my password. But it would be only only use 'myreallylong' as input.
        When I go to login and enter 'myreallylongpassword' it took the whole password as input and denied me access, since it didn't equal to 'myreallylong'.

        I went through quite a few password resets before I figured this out.

        • How do they even do that?

          Anyone doing a password system is going to take the input string and hash it. Hashes always come out with the same length (for a given algorithm, at least), so there's no reason to have *any* limit on password length. And even if you truncate it on entry, why would you not either warn the user (as Wachovia did back when I used them, with their 9-12 character passwords only), or at least truncate on password check as well.

          The only logical explanation is that they're storing passwords

    • 12 letters, no special characters my ass.

      No, you may not know which bank I use.

      Sounds like Bank of America. At least they let you use a mix of upper and lower case and numbers.

    • You've a pretty good bank. I've three bank accounts:
      1) 4 digits (yes, numeric only), account disabled after ONE failed attempt (need to re-enable it at an ATM).
      2) 8 letters/numbers, need to change it every 90days. Can't repeat old passwords.
      3) 4 digits, and the username is "secret" too. If you fail to log in 3 times, your account is disabled and you need to pick a new password AND username.

      While the latter offers a wierd but somewhat better form of security than the rest, you can be pretty sure that 12 l

      • by Aaron B Lingwood ( 1288412 ) on Friday September 21, 2012 @11:24PM (#41418525)

        The only Australian bank that I use has the following setup-
        Login: Primary Account Number
        Password: 5 characters, A-Z 0-9 (no lower case)

        Account locks after 3 incorrect attempts.

        As a measure against the key-logger, the password is entered by clicking on a virtual keyboard which repositions itself on the screen randomly after each click.
        Can not login without Javascript enabled. This measure is useless on mobile devices though as the virtual keyboard fills the entire screen and thus can not be repositioned. If an attacker found a chink in the armour that would allow multiple password attempts without locking the account (likely, as this appears to be done in script), a brute-force will likely succeed in a very short amount of time.

        On the plus-side, I am informed of ALL login attempts and transactions via SMS and must login and enter a one-time-pad to authorize larger transactions. I am also given the previous login time and date upon login and a separate code is required to add a new payee or for overseas transfers.

  • Clearly (Score:2, Informative)

    by Narnie ( 1349029 )

    Somebody hasn't read the relevant xkcd.

    • Re: (Score:3, Informative)

      by Anonymous Coward

  • AOL Used to.... (Score:4, Interesting)

    by Anonymous Coward on Friday September 21, 2012 @08:01PM (#41417041)

    Along time ago I had a 10 character password that ended with some numbers for an AOL account. I fumbled the numbers at the end of the password once, aware of such, but hit login anyway and it still let me in. I tested and confirmed it not to care what numbers were at the end of the password. Later it was revealed that AOL was just making a Hash of the first 8 characters of the users password, so it really didn't matter what you entered past the 8th char because it would be trimmed before computing the hash....

  • by Anonymous Coward on Friday September 21, 2012 @08:01PM (#41417047)

    Umm, TFA says that Hotmail has never accepted passwords longer than 16 characters - it used to silently truncate them. The only thing that's changed is that Hotmail is now letting you know that it's truncating the password.

  • Huh. (Score:5, Informative)

    by jd ( 1658 ) <{moc.oohay} {ta} {kapimi}> on Friday September 21, 2012 @08:02PM (#41417059) Homepage Journal

    Well, in the Bad Old Days, Unix passwords could only be 8 characters, later extended to 16. Less concerned with the original scheme, more with the fact that Microsoft may be using password algorithms from the 1980s.

    • I definitely ran into a problem with this under an early BSD. Entered a longer password, entered it a second time, they matched, it was accepted. Then I could no longer log in the next day. Reset password and try again. Then the next day same problem. Eventually it was figured out and the admin patched a file and fixed it.

      I think there was also a problem for awhile with user names where additional letters were ignored by some tools.

  • by halexists ( 2587109 ) on Friday September 21, 2012 @08:04PM (#41417095)
    RTFA and you learn that they've only been storing the first 16 characters for years, letting you type away in vain. Otherwise they'd have to produce new hashes for the "shorter" passwords that they expect users to use now. (There's no such thing as reading the first 16 digits of a hashed password).
    • Re: (Score:3, Interesting)

      by VTI9600 ( 1143169 )

      From TFA:

      [...] this can only mean one of two things, according to Kaspersky:

      Store full plaintext passwords in their database and then compare the first 16 chars only.
      Calculate the hash only on the first 16 and ignore the rest.

      I’m fairly certain Microsoft isn’t stupid enough to go with the first option. Storing passwords in clear text would be a disaster,

      I wouldn't doubt for a second that MS would go with the first option. They are, after all, competing with Yahoo [] :-) Also, wasn't it Microsoft that came up with the oxymoronical term "reversible encryption"?

      On the other hand, Hotmail was originally built on FreeBSD by non-MS types, so who knows? To this day I still find it amusing to think of all the difficulty they must have had porting the platform to Windows.

  • Whenever I see any website that rejects passwords longer than X characters, I turn away and go somewhere else. My smallest password those days is 20 characters with numbers and special characters. I expect pretty much any decent website to accept those.
    • by Stiletto ( 12066 ) on Friday September 21, 2012 @09:02PM (#41417641)

      The question that should be asked is, "What's a 'Special Character' and why shouldn't it be allowed in a password?"

      I had this argument with a developer the other day.

      Him: "What characters should be allowed in this text field?"
      Me: "Um, How about all of them, at least the printable ones."
      Him: "What about special characters?"
      Me: "Give me an example."
      Him: "The ! sign"
      Me: "What's so special about that? I can type it? I use it at the end of some sentences when I'm angry. Why would you not allow it?"
      Him: "What about non-latin characters?"
      Me: "What, are they special too?"
      Him: "You need to specify a list of every character that is allowed in the text field, otherwise I cannot program it."
      Me: [Facepalm]


      There doesn't seem to be any compelling security reason to exclude certain characters from eligibility for use in a password.

      • If you are using various devices to login with.
        Sure, your normal keyboard may have an unusual keystroke that yields .
        But, other OSs, or key maps are unlikely to either support the requisite keystroke ('But my phone doesn't even have alt-gr") or it is going to be in a place only findable With extreme effort.

      • by Obfuscant ( 592200 ) on Friday September 21, 2012 @09:19PM (#41417745)

        Him: "You need to specify a list of every character that is allowed in the text field, otherwise I cannot program it." Me: [Facepalm]

        The developer is right. You are trying to enforce an ambiguous requirement. "All of them, at least the printable ones" is not specific. "Printable" assumes a font. In the symbol font (as found on Winders) there are a lot of "printable" characters that don't show up on a keyboard. Since they are mapped into the same binary values, how do you differentiate?

        "My password has a an "upside down A" but you are accepting a double quote and letting me log in. It's broke!"

        This is not a trivial issue. It appears that someone has had the same kind of conversation with some web developers regarding proper email addresses.

        Him: "What characters should be allowed in an email address?"

        Boss: "Anything that is in an email address."

        Him: "Hmmm, ok, all I've ever seen are A-Za-z0-9.- and one '@'. That's what I'll code.

        Me: "Hey, your website it broken, it doesn't accept valid email addresses! Don't you idiots bother to read the RFC for internet messaging when you program this stuff?"

        Him: "It works fine with my address."


        Him: "How did you get ahold of our proprietary javascript code?"

        Do you see the problem?

        • by blueg3 ( 192743 )

          Arguably, the designation "printable character" does not imply a font at all. What the symbol font has is glyphs, which map to character code points -- ones that are already defined to mean something different and printable. "Printable" is more a property of the character (code point) and not of the glyph. Fortunately, there's this whole Unicode thing that (a) is a widely-accepted standard with easily-obtained libraries, (b) is supported by web browsers, Windows, Mac OS, etc., (c) will tell you if a charact

        • by gman003 ( 1693318 ) on Friday September 21, 2012 @11:54PM (#41418657)

          Look at an ASCII table sometime.

          The first 0x20 characters, plus 0x7F, are "non-printable" or "control" characters, having no visual representation in any "standard" font, instead having some effect on the system - NUL, start-of-header, start-of-text, end-of-text, enquiry, acknowledge, bell, backspace, tab, line feed, vertical tab, form feed, carriage return, shift out, shift in, data link escape, device codes 1-4, and a few others I can't remember. The other 0x5F are "printable" - they actually show some character on the screen. That includes everything from space to ~, literally.

          Those are official terms. ISO encodings and Unicode add more printing and non-printing characters, but they all have the same base. And I suppose EBCDIC has its own set of control characters, incompatible with ASCII et al (although if you're basing your password system on "what EBCIDIC allows", you fail on at least a dozen levels already).

      • If you do not restrict your input (at least to some extent), you open up the crypto library on your system as a potential attack vector. Granted, its not very likely to come across an exploitable flaw of this nature, but even the best programmers make mistakes. Bottom line, opening up a pipe (completely unrestricted input) to a low level system service is a bad idea. I think a sane limit on password input (maybe 256 - 512 printable latin ascii characters) is reasonable.
  • by Ol Biscuitbarrel ( 1859702 ) on Friday September 21, 2012 @08:06PM (#41417127)


  • Hmm... Why wouldn't they just store a 16 char hash of whatever password you want?

    Usually you only see this when someone is doing something wrong from a security standpoint.

  • So? (Score:5, Insightful)

    by jd2112 ( 1535857 ) on Friday September 21, 2012 @08:08PM (#41417145)
    Who in their right mind would trust anything sensitive enough to require a 16 character password to Hotmail?
  • by Paradigm_Complex ( 968558 ) on Friday September 21, 2012 @08:13PM (#41417191)

    As fun as it is to bash Microsoft, they're not the only ones who do this. Presumably there is some technical reason why this is done, but I am at a loss for what this would be. Would someone be able to explain to me the reason why such limits are put in place?

    It seems with modern computer capability that absurdly long passwords would be trivial. The hashed password length would be the same irrelevant, so I can't see storage space as the issue. The only other idea which comes to my mind is the computational difficulty of hashing the passwords, but even that has to be trivial by today's standards, even with millions of users hitting the servers. Why not go overboard and just allow several kilobytes worth of password?

    • by Volanin ( 935080 )

      Commenting here, as my finger slipped and I wrongly modded this as Troll. Gosh, I am a human, give me an option to remoderate my miskates, you silly slashdot!

    • by bertok ( 226922 ) on Friday September 21, 2012 @08:56PM (#41417591)

      Every time I see any kind of password length limit somewhere, I instinctively know that somewhere behind the scenes there is this table column:

          user_password VARCHAR(16) NOT NULL

      It's the same sinking feeling I get when I see the "the following special characters cannot be used in the password field" error message, which just tells me immediately that the code that submits the password field looks like:

          $cmd = "UPDATE ... user_password='" + $password + "' ... "

      There really, really needs to be a "guild of programmers" or somesuch, along the lines of the Bar Association, so that anybody who writes code like the above can be summarily ejected from it.

      • I am afraid that would eject a large number of programmers (aka "programmers"). Wouldn't surprise me if this would eject 80%. But I am all for it.
    • Because people don't think. That is all.

      Seriously, the people who design the web UI front end and the people who save the data to the databases on the back end are not security experts. They probably just thought "ok, gotta reserve space for a field, I think 16 characters is enough" and that was the end of the thinking process.

    • by xlsior ( 524145 )
      Under Windows NT4 Microsoft's NTLM password database would only store the first 14 characters of each password, silently ignoring everything else. Worse, they'd actually split it into two seven-digit chunks and store them separately, without applying a SALT. The result of this was that having a password that's a few characters longer than 7 digits would actually be worse than having a short 7-digit password, since those couple of extra characters would be trivial to brute-force and could potentially give cl
  • Does this mean they were storing the passwords in cleartext? In a real system they would simply be storing the hashes, shortening the password would cause it to create a different hash and not match.

    • by tepples ( 727027 )

      Does this mean they were storing the passwords in cleartext? In a real system they would simply be storing the hashes

      I'm under the impression that they hash it after chopping off everything after 16 characters. Perhaps it's easiest to express in PHP: $hash = sha1(substr($password, 0, 16));

  • Slashdot has a password length limit, iirc its 20. The input field for setting a password has a max length of 20 however the login field doesn't. So when i last changed my password i was confused for a short while till i realised that i hadn't read the password guidelines. To be honest i find that ~50% of websites that i try to use long passwords on are limited to around 20.
    • On the topic of weird password requirements, my university has the weirdest password requirements i have come across to date (i'm assuming its due to some software they must use);

      Note that passwords must follow these rules:
      * must be 6, 7 or 8 characters in length
      * must contain at least one numeric digit
      * must NOT start with a numeric digit
      * must contain only lower-case alphabetic letters and numeric digits (that is no punctuation characters).
      * the first three characters of your password must not be identical
      * the first three characters of your password must not equal sap or pass
      * the first three characters of your password and login name must not be the same

      • by jrumney ( 197329 )

        the first three characters of your password must not equal sap or pass

        Hmmm, I wonder what other opportunities for SQL injection there are that they don't have covered.

      • by AK Marc ( 707885 ) on Saturday September 22, 2012 @07:42AM (#41420007)
        Often it's due to single sign on, and it has to work on 100 different legacy systems. But yes, I've been told one place to set my password to 6 alpha characters and 2 numbers. I have no idea what would or wouldn't work, and the combinations I tried matching the published rules didn't work, but adopting the 6+2 scheme generated a valid password. Because of the 60 day pwd expiration, and no repeats in the last 12 passwords, everyone does 6 alpha in lower case, and numbers 1-12, rotated. It is roughly as secure as just 6 chars and no numbers, but no, we have to have the numbers and the short-ish expiration. I am of the opinion that expiring passwords leads to less password re-use, but less password entropy as well. For where that tradeoff gets us for security, I have no idea.
  • Banks just as bad (Score:4, Interesting)

    by Asmor ( 775910 ) on Friday September 21, 2012 @08:30PM (#41417365) Homepage

    TD Bank, my current bank, has the following password requirements:

    6-32 characters, no spaces, alphanumeric + the following symbols only: [list of characters removed because /. thought it was spam; it was a fairly short list, though. Didn't even include an asterisk]

    Additionally, back when I signed up for online banking with them, I filled in a bunch of garbage for the security questions because security questions are just an attack vector, and I don't forget my passwords (I highly recommend KeePass for managing passwords, it's amazing).

    Anyways, a few years ago I went to log in and was prompted to answer a security question. Wtf? I had to call customer service to get my security questions reset. Now, if they don't recognize the device, or every so often, in addition to password you need to answer a security question.

    This means that I'm forced to either give real answers that I'll remember (and that anyone else could figure out to hijack my account), bogus answers that I can try to memorize, or garbage that I write down and hang onto.

    I also recall, around 10 years ago, I was using Bank of America and they had a limit of either 12 or 16 characters on your passwords.

    Of course, my email, web hosting, and even my fucking World of Warcraft use actual two-factor authentication, with phone apps that generate codes that are only good for around 30 seconds, and outside of a man-in-the-middle attack they're practically bulletproof. Why the fuck can't my online banking be as secure as them?

    • The solution is fairly simple; keep extra random passwords in KeePass or whatever else you use, one for each security question.
  • At least you don't need to use your real name.

  • by Anonymous Coward on Friday September 21, 2012 @08:36PM (#41417415)

    My password is thus: SHA1 HMAC( PW, domain + salt ) -- Output as Base64 (where + is concatenation). I use this method because I can recreate the password at any time from anywhere. I don't rely on anyone else's password systems, I just use this simple algorithm which I can implement on any machine with the simple cryptographic primitives (hashed message authentication code, and a hash). I get a different password for each site, while using the same password everywhere. I change the salt and/or main password every so often, and only have to remember the current and last PW as I migrate to the new password as I run into sites I use.

    At first I created a table within the bookmarklette that would allow me to set additional rules for passwords, limit length, use a different set of characters for the base64 output -- The hash would be filtered on a per site basis to comply with all the bullshit. I could deal with such shortcomings five or ten years ago, but not today. Synchronizing the booklmarklette defeats the purpose of using a simple algorithm. If a site won't accept something like: NzE1YWViMGQwMjU3NWRlNmI3ZDQ0NTQ0NzI4MjE3MGU5YzRlMWY3NiAgLQo= as a password then I just don't use the service.

    I'll never use any Microsoft products, so I'll have to rely on others to discover: I imagine MS would simply ignore characters beyond the new limit? If not it would surely break password entry systems like my own or even saved password mechanic in all browsers... Including IE. It wouldn't surprise me if MS did break password entry for long saved passwords -- Smart folks who are security aware aren't their target audience.

    • by anilg ( 961244 )

      > SHA1 HMAC( PW, domain + salt ) -- Output as Base64 (where + is concatenation).

      Interesting! So as long as the attacker does not have access to your local machine, you have more protection. (your password couls still be known for a single site, but could not be used elsewhere, does nto give away your 'formula' for passwords (like ending it with the site name, etc).

      Do you have this integrated with keepass or something? This should be a desktop tool, hosted on github.

    • I used to do this, but it fails miserably on sites that require you to change your password, or when they redesign and redirect you to their "secure" domain to log in, or where they have multiple domains that share an account. I found I was spending too much time fighting edge cases, so I caved in and went for LastPass (which I consider adequate since it encrypts on my end). No regrets.

  • This is the sort of MBA spreadsheet thinking that kills companies. I suspect that someone did an audit that showed the passwords taking up all this "Valuable" space or some other bizarre analysis. The tiny savings from having the shorter passwords will instantly be nullified the first major hack that comes along.

    So MS is faced with one of three expensive situations:
    They weren't hashing but storing my pass in some open or reversible format which when hacked will create a mega PR / liability problem or,
  • In this age of ubiquitous spyware and key loggers passwords are pointless. Two factor security or don't trust anything important to a system.

    My passwords for things are simple, but I only trust important data to to factor. I just assume anything only password protected is compromised.

  • Could someone explain how this would be even possible to pull off in the first place unless our passwords were stored in plaintext?

    Last time I checked, you couldn't truncate a password like this after it's already been hashed.

    Microsoft, shame on you.

  • 0123456789ABCDEF

  • by 1000101 ( 584896 ) on Friday September 21, 2012 @09:16PM (#41417723)
    This is, well, stupid. I don't even know my own passwords. I have so many of them and they are so long with so many special characters that it would be impossible to keep up. I keep them in KeePass and just copy/paste them in the text box (it deletes the clipboard). Why place such a restriction on passwords when it is more important now then ever?
  • by Woogiemonger ( 628172 ) on Friday September 21, 2012 @10:39PM (#41418309)
    So much for THAT strategy: []

I've noticed several design suggestions in your code.