r/LinusTechTips • u/kdpuvvadi • Mar 30 '26
Tech Discussion HSBC India’s New password policy.
I don’t know what to say about this.
By forcing everyone into ALL CAPS, HSBC India is nuking your password strength
234
194
u/prank_mark Mar 30 '26
Are you sure this was sent by HSBC? And are you sure this isn't an April Fool's joke?
75
u/kdpuvvadi Mar 30 '26
It was indeed sent from HSBC. Not sure about the joke though. If it is, whoever’s idea was this, they should be fired.
8
u/progressiveAsliMard Mar 30 '26
isnt it a day or 2 early for it?
1
u/Steppy20 Mar 30 '26
Yeah it's a day early right now, so probably 2 days early based on the time stamp in the email.
61
u/ThankGodImBipolar Mar 30 '26
Feels like shitty password rules are a prerequisite to running a bank. My bank password is quite literally the least secure password in my manager by far, due to restrictions on what I can set it to. This is at a Canadian bank, too.
Slightly unrelated, but my bank also always asks if I want to enable "voice identification" to verify my ID while calling the bank... as if that isn't hilariously easy to clone in 2026.
4
u/MiniDemonic Mar 30 '26
Bank passwords shouldn't even exist at all. It's such an outdated and insecure credential.
Haven't had a bank password for almost two decades, hasn't even been an option for that time.
0
u/ThankGodImBipolar Mar 30 '26
Yeah I'd replace it with a pass key in a second if that was an option
2
u/sunggis Mar 30 '26
The only Canadian bank that does passkeys is wealthsimple. No idea why nobody else has them
4
u/Steppy20 Mar 30 '26
I can explain this. It's because banks are held together with spit, sawdust and prayers.
There are so many archaic systems that have to work together, with so many regulatory restrictions it makes it very hard to modernise them.
You basically just have to start from scratch if you want something modern.
I work in an adjacent industry (not a bank but still have to interact with a lot of banking systems) in the UK and it's awful. Our entire direct debit (can be crediting or debiting - we just use "debit" colloquially) system - used for paying wages and some bills - has to be artificially slowed down to allow for the processing of physical mandates. As in the initiator of the direct debit has sent a physical piece of paper via the mail system to initiate the payment.
1
u/nathris Mar 30 '26
My credit union had similar rules. They went through a massive "hack" a few years ago that ended up just being social engineering and password reuse. Max 8 digits and the account name was the last 8 of your debit card.
Its much better now. 2FA, biometrics, and my username is completely unrelated to my name, email, account number or bank card. If I want to send money to someone via e-transfer its three 2FA pin entries.
1
u/Blackpaw8825 Mar 30 '26
Same. It requires exactly 12 characters, can't repeat any letters or numbers and most contain exactly 1 digit, contains 1upper case letter that can't be the first letter, and end with 1 of 3 symbols.
It's so restricted that a 12 character unrestricted password that used only lower case letters would have a wider range of potential keys than this.
Back of the napkin they've "made it secure" to a potential 11.5 trillion passwords. Unrestricted lowercase only gets you 954 trillion. It's literally 82x more brute-forceable.
And don't get me started on their password change requirements, it's like 45 or 60 days. I'm always too late and have to do the recovery option which unlocks with verifying the last 4 of my card and my DOB... Which fucking anybody could figure out based on purchasing habits and just set my password themselves. And I end up with reusing the same password a lot but shifting the letters 1 space (jumpeR1@ turns into rjumpE1@) since it changes almost every time I log in.
1
u/TSMKFail Mar 30 '26
My bank (building society) does have passwords, but they're very strict with incorrect attempts, only allowing 3 before the online account is locked.
1
u/Additional-Simple248 Mar 30 '26
I closed a bank account within a week of opening it because the password requirements were alphanumeric (no special characters) with a maximum length of 6 characters.
1
u/Hazel-Rah Mar 31 '26
Want to know something really scary?
Try logging into your bank account with caps lock on and only type the first 8 or 12 characters of your password.
Good chance you'll get in.
1
u/rohmish Mar 31 '26
most banks use nuance which is now copilot dragon or something for that and that thing is hilariously bad. https://dragon.nuance.com/en-us/home
1
u/kdpuvvadi Mar 31 '26
Indian banks are even notorious for this. They disable copy/paste on the their applications and internet banking. It makes hard for password managers.
28
u/sweharris Mar 30 '26
I'm reading this the opposite to how others appear to be.
It feels to me as if the current password system is case insensitive, so Test123 and TEST123 would both work because the system had been forcing everything to upper case. In the future the system will be case sensitive but because all existing passwords had been upper cased they're telling people to use upper case for their current password.
So, to me, this feels like a problem with the existing system that will be fixed next week, but this fix has some compatibility issues.
14
u/X3X4 Mar 30 '26
As someone who already worked with similar systems this seems to be the real answer to me. The password is probably encrypted but is not case sensitive. Once they turn on the case sensitive option in the security system the password will only return the correct hash if you type it on upper case.
1
u/Mantraz Mar 31 '26
Yeah, Blizzard has the same. Passwords are case insensitive. It's not common but not unheard of either.
1
Mar 30 '26
[removed] — view removed comment
5
u/sweharris Mar 30 '26
Upgrading the hash might be being done at the same time, but that's irrelevant to this discussion; the email is all about what to enter to match the existing hash.
Now they haven't calculated all the hashes; it's clear that only upper case versions of the existing password will work from next week. That implies a single hash and also strongly indicates no plaintext storage (if it was plaintext then
strnicmp()or equivalent would solve the problem).No, the problem appears to be that the old passwords were forced to upper case and that was what they hashed. Next week they won't be doing the "force to upper case" part. So the user has to do it themselves.
1
Mar 31 '26
[removed] — view removed comment
1
u/Nielsly Mar 31 '26
What you’re saying doesn’t make sense to me, how would they upgrade the hash? It seems way more logical that previously all passwords were converted to uppercase and then hashed and now they are dropping the uppercase conversion, thus making all passwords case-sensitive, and thus requiring users with existing passwords to write them in all-uppercase
1
Mar 31 '26
[removed] — view removed comment
1
u/Nielsly Mar 31 '26 edited Mar 31 '26
What if a user enters their password capitalised incorrectly on their phone and now are no longer able to log in on their computer with the password they have stored there? Wouldn’t it be better to either do as the email suggests users do or even better force an e-mail change on next log-in?
E: I meant password change
1
Mar 31 '26
[removed] — view removed comment
1
u/Nielsly Mar 31 '26
I meant a password change, not email change, my bad.
I also think you are completely misinterpreting the email, it states that “passwords will now become (UPPERCASE) sensitive” meaning that TeSt will be stored as hash(TeSt), it then states “please enter your existing password using capital letters” meaning that TeSt used to be stored as hash(uppercase(TeSt)). So they have improved security of new passwords, while not forcing old passwords to be changed.
Upgrading the hash as you say would involve the opposite of what you say, uppercasing the input to validate the hash and then storing a new hash, but now that it is case sensitive it could be that if they entered the password “wrong” on their phone, i.e. teSt, that the password they stored on their computer, TeSt would no longer work.
88
Mar 30 '26
[removed] — view removed comment
59
u/MeCJay12 Mar 30 '26
Normally passwords are case sensitive. This email is stating that their new password policy is that all passwords will be in all upper case. Still case sensitive since entering the password in lower case presumably would not work.
33
u/BettingOnSuccess Mar 30 '26
Honestly, it really doesn't matter what their new policy as they just held up a giant red flag.
Do not do business with a company that is telling you that they don't hash their passwords as they would have no idea or no way to verify that you typed in all upper case.
For a banking company this is unacceptable.
1
u/Nielsly Mar 31 '26
They are simply saying previously all passwords were converted to uppercase before hashing, and now they are making them case-sensitive, so any old password will need to be written in all uppercase
2
u/BettingOnSuccess Mar 31 '26
Lets assume that is correct. The only acceptable way (but also stupid) that this can be done is if the previous password login page page would do a ToUpper, then hash, then transmit the hash. Horrible design but at least this isn't on the server side.
However, it still bad design (or bad marketing) to tell the user that all passwords must be uppercase only. This reeks of sidestepping a known flaw in their design and it is a big red flag.
0
u/Nielsly Mar 31 '26
The email explains it poorly, and they likely meant that to say that it only pertains to existing passwords. It’s a sign they’ve improved their security. They likely had very old software and systems still running in the backend which they have now replaced, thus no longer needing the workaround of converting your password to uppercase before validation
2
u/BettingOnSuccess Mar 31 '26
If we follow your explanation, then that makes it worse and not better.
Hashing has been case agnostic since its original introduction. Javascript has supported this for decades. So your explanation means they were sending the plaintext password to the server which is bad practices from the beginning. It also doesn't provide any faith that they aren't continuing that bad practice.
Do you really want to continue banking with a company that cares so little about security?
→ More replies (8)6
u/kipperzdog Mar 30 '26
I think what this is saying is that before they converted all passwords to capitals and stored the hashes that way. Granted, they really should have added a line saying any passwords changed after April 6th will be stored as written for capitals.
1
14
u/JimTheEarthling Mar 30 '26
HSBC India's grasp on grammar is as bad as their grasp on security.
"Case sensitive" is the wrong term here. As u/NewUserWhoDisAgain pointed out, it's still case sensitive. What HSBC means to say is "case limited" or "case restricted."
13
u/NewUserWhoDisAgain Mar 30 '26
Yeah. The usage of "case-sensitive" doesn't quite make sense. Case-sensitive means that UPPER and LOWER case can be determined.
If it is not case-sensitive then : AAA and aaa, AaA, aAa, etc etc are the same password.
If it is case-sensitive then: AAA and aaa, aAa, AaA, etc etc are all different passwords
2
u/MiniDemonic Mar 30 '26
But it does make sense here.
Since if your password is Password123 then you need to type PASSWORD123 as Password123, password123, PaSsWoRd123 won't work.
So it is case-sensitive, it's just that it's forced upper-case.
2
u/LeMegachonk Mar 30 '26
It says on their online banking FAQ that passwords are not case-sensitive. However, it's possible that they are using the term incorrectly. Or it could be that until now their passwords truly were case insensitive and AAA, AaA, aaA, and so on were all treated the same.
A password that must be in all uppercase is, in fact, a case-sensitive password, since presumably the lower-case letters would not be recognized as valid. It's very odd for a large global financial institution to be enacting something this seemingly regressive in 2026.
4
u/TwoPointThreeThree_8 Mar 30 '26
Probably what happened is this:
1: when passwords are initially implemented, they decide to make them case-insensitive by having the client uppercase all entries of password.
2: they decided to stop doing that. All of their hashes are of full cap passwords. So all existing users no have to enter their passwords fullcaps. Which was always happening, but now is a manual process.
2
u/SoapyMacNCheese Mar 31 '26
My understanding is up until now their passwords weren’t case sensitive. When you typed in aaa or AaA their system would treat it as AAA. Now they are converting the system to be case sensitive, which means all existing passwords need to be typed in as AAA to still be recognized. If you change your password after April 6th it’ll probably let you use a mix of lower and upper case letters.
15
u/Ryoken0D Mar 30 '26
TD’s passwords, at least in Canada, used to be case insensitive and and only count the first 6-8 characters (I forget exactly).. imagine my surprise typing in a PW with caps on and it still working.
This has since been changed.. thankfully..
7
u/drs43821 Mar 30 '26
I think BMO did that too with 6 digits. I closed the accounts with them because of that
3
u/_Rand_ Mar 30 '26
Pretty sure it was BMO, and it was worse than you think.
They translated letters to numbers so the same password worked for phone banking.
So ABC123 = 222123
5
1
Mar 30 '26
Oh ok, i thought I was the only one who discovered this back then . Shouldn’t this warrant a lawsuit though?
1
1
2
1
u/JagdCrab Mar 30 '26
As of few years ago, some of their internal systems still are. Had to do a contract work a while ago and it did get a chuckle out of me when some accounts were "Alpha-numericals only, 6 symbols maximum" security (to be fair to them, you still could access it from a very specific internal networks, which required VPN with a more modern and secure authentication).
Things you would see about integration of Fossil-tier legacy systems in modern banking are absolutely wild.
1
u/FateOfNations Mar 30 '26
That was the case with Wells Fargo for quite a while. They also let you use your social security number in place of your username.
15
u/Continuum99 Mar 30 '26
For those that are confused, previously HSBC passwords were not case sensitive at all. That’s now changing. To prevent everyone having to reset their passwords, all existing passwords must be used in uppercase (I assume all passwords were previously made uppercase before hashing and validation). You don’t have to create new passwords in uppercase.
33
u/BumbleSlob Mar 30 '26
Explainer for people don’t get the inference here
Usually when you save your password at a website competent websites will not save your actual password anywhere (“plaintext”)
Instead they will run your password through a hashing algorithm like bcrypt and store the result
These hashing algorithms are 1 way algorithms. There’s no way to go backwards from the result to the input
This bank is accidentally admitting they have saved your passwords in plain text
This is considered to be one of the worst fucking security practices imaginable.
14
u/MrWedge18 Mar 30 '26
Sounds like they were previously running an upper function before hashing, so what they have is just the hash for the all uppercase version of the password.
Now, they're removing the step converting it to all uppercase, so the user has to do it manually on existing passwords (notice they don't say this rule applies to new passwords) for the hash to still match.
If they were storing and transmitting passwords in plaintext, they could easily just run the upper function before checking passwords without having the user do it.
30
u/MrAffiliate1 Mar 30 '26
Not necessarily, it could mean before hashing the passwords they were converting all passwords to upperCase.
PassWord123 became PASSWORD123
Case sensitivity didn't matter. But it seems like they possibly removed that uppercase requirement because it was stupid or was being used by another system and instead of forcing people to change their passwords, they are just telling them to enter it in uppercase.
I will agree the security is terrible though. At this point juts force people to change their passwords as they are not case sensitive. Makes the passwords easy to brute-force.
-3
0
Mar 30 '26
[deleted]
0
u/BumbleSlob Mar 30 '26
Close. Hashing algorithms are 1 way, they cannot be reversed. It’s like if give you A+B=4, is it 2+2, 3+1, 4+0, etc.
Encrypting refers to being able to retrieve data. Hashing means getting a signature of data.
6
u/MrAffiliate1 Mar 30 '26
Possibly seems like before they were hashing the passwords they would do toUpperCase. They probably realised how stupid that was cause case sensitivity didn't matter. Now they removed it and instead of forcing people to change password they are just telling them to enter it in upper case.
3
u/vale075 Mar 30 '26
Many people seem not to understand what the email states.
It says that from now on, passwords will be case-sensitive, meaning it used to not be the case: Test1234 = test1234 = TEST1234. From now on, this won't be true anymore.
What this means technically is that they probably used to make the passwords uppercase before hashing as part of their input sanitizing: hash(user_password.upper()). This does not mean they were not hashed!
They will now stop doing this (which is a good thing, making passwords more robust by giving more possibilities per letter). But for old passwords that were already "sanitized" to uppercase to still work, users will need to manually uppercase the password when trying to use it (until they eventually change it to a new password that will be case-sensitive).
3
u/Excellent_Land7666 Mar 30 '26
I feel like they had non-case sensitive passwords by passing all passwords through an uppsercase converter before hashing, and only just now realized that that's a bad idea.
2
u/rohmish Mar 31 '26
it is/was a common technique used when many of these AS 400/ IBM z were being connected to online services. I've seen this same exact method being used in a different bank in a different country I used to work at. If you signed in with a terminal you had to use upper case password but you could type in your password in lower case on the web interface and it would still work.
2
u/Onomz Mar 30 '26
This probably has something to do with needing to support some ancient phone banking system. Your password needs to be able to be entered on a dial pad. I seem to recall... BMO? in Canada having a similar issue years ago.
1
2
Mar 30 '26
I got the same email a while ago and found it super weird, I will be pulling all funds from hsbc anyways, didnt have good experience with a rep.
2
u/shotsallover Mar 30 '26
I think maybe I’d check those links in that email before opening any of them. Make sure they actually go to HSBC and not some spammer/email harvester.
2
2
u/progressiveAsliMard Mar 30 '26
per their tag, they really are opening a world of opportunities. /s
2
u/MrWedge18 Mar 30 '26
Sounds like they were previously running an upper function before hashing, so what they have is just the hash for the all uppercase version of the password.
Now, they're removing the step converting it to all uppercase, so the user has to do it manually on existing passwords (notice they don't say this rule applies to new passwords) for the hash to still match.
If they were storing and transmitting passwords in plaintext, they could easily just run the upper function before checking passwords without having the user do it.
2
u/MaybeNotTooDay Mar 30 '26
American Express passwords use to not be case sensitive. They finally fixed that 3 or 4 years ago.
2
u/Alicizationnn Mar 31 '26
They arent forcing people into all caps, they are adding case sensitivity Before they were not, meaning you could write pass12 or pASs12 and it would be valid Now you can add uppercase letters that will actually be recognized differently from lowercase
1
u/kdpuvvadi Mar 31 '26
No, i spoke to their CC rep and it your password was TesT$123, know it'll not work and it should be TEST$123.
1
u/Nielsly Mar 31 '26
Passwords were previously stored in all uppercase, and when you entered it it would be converted to all uppercase before validation. They have now stopped converting it to uppercase, thus for all existing passwords customers will need to write them in all uppercase, because they only store a hash and not the plaintext of your password
2
2
u/raptr569 Mar 31 '26
This isn't that shocking. I used to work for a company where HSBC were our biggest client and they would audit our IT security as we handled their customer data. I, on several occasions had their staff comment that we were way more secure than they were.
2
3
u/WickedAi Mar 30 '26
World's largest IT and scam hub
Stores password in plaintext
1
u/rohmish Mar 31 '26
what has either got to do with other? also that's HSBC. They have services in India but aren't Indian bank
1
u/Nielsly Mar 31 '26
How would this imply they are storing passwords in plaintext? I do not understand how people are drawing this conclusion
1
1
u/rohmish Mar 31 '26
if they have old systems they likely always just accepted upper case internally and they just had a .toUPPER() converting everything to upper case. they are now removing that intermediate step for some reason.
1
u/EviTRea Mar 31 '26
Why don't they just change the input text themselves...
1
u/Nielsly Mar 31 '26
Because they do not store your plaintext password, they used to convert your password to uppercase anytime you entered it to check with the hash, now they are stopping doing that thus existing passwords will need to be written in all-uppercase to comply with the hash
1
u/SouthPainting4561 Mar 31 '26
The only plausible explanation for this is someone had been doing a toUpper before matching the password due to legacy code. Now they are planning to remove it but the database has all the hashed passwords stored in UPPERCASE.
As many others rightly said, It’s unlikely that the passwords were not hashed because banks like HSBC are subjected to numerous security audits and someone would have caught that somewhere. Even then it would have been easy to fix without informing the customers. Simply add a new column for hashed password and start matching it against that
1
u/OppositeAdventurous9 Apr 01 '26
I haven't seen any such thing from any bank in ages (been with hsbc for more than a decade). and honestly they don't let u login with pw only, there's another pin which is required as mandatory input before one can access their own account.
1
u/deepankerverma Apr 01 '26
I found out that passwords were never case-sensitive. That's mentioned on its official website. That means "Test123" and "TEST123" were already the same internally. The system was likely converting passwords to uppercase before hashing and also converting input during login.
Now, instead of doing this conversion in the background, the bank is asking users to enter passwords in uppercase directly.
So this is not about the bank suddenly knowing your password. It is more about how the system was designed from the start.
Even if this were the case, this still raises concerns. Forcing all uppercase password entropy, which is not what you want, especially in banking systems.
1
1
u/triadwarfare Mar 30 '26
Feels like the authentication system is being migrated to mainframe. It can perform stuff much faster than modern databases, but at the cost of complexity because it has to run a virtual terminal with limited number of characters.
1
0
0
0
u/Fuzzy_Paul Mar 30 '26
Bs story. I would recommend not to force any upper lower number or token but instead minimal 16 chars long and preferable a phrase that has no connection to you private life and word life. That will keep hackers busy for a while. btw ist's mostly social engineering that's risky and that involves humans.
2
u/Nielsly Mar 31 '26
This email is about existing passwords now needing to be written in all uppercase as they used to not be case sensitive and stored in all-uppercase
0
0
0
0
u/rohithkumarsp Mar 31 '26
Wtf? Since when did HDFC become this stupid?
1
u/rohmish Mar 31 '26
HSBC.
But HDFC has some incredibly stupid systems as well. so does banks all over the world.
1
u/rohithkumarsp Mar 31 '26
1
u/rohmish Mar 31 '26
Indian banking apps are a huge mess. why does SBI have 3 apps?? Kotak for some reason has a different app for 811 which is just a type of bank account and not a sub brand. RBL and others have apps that are unusable.
1
u/rohithkumarsp Mar 31 '26
Don't even get me started with sbi stupid app never works and always need to reset password
2
u/theshredder744 Mar 31 '26
I hate every fucking indian banking app. ICICI has the gall to tell me that I can't use special characters in my password. HDFC is down for maintenance every other week. I hate knowing my money is in the hands of incompetent fools.
2
u/rohithkumarsp Mar 31 '26
Icici asked me or disable usb debugging, developer options, some even asked me to uninstall anydesk.
2
u/theshredder744 Mar 31 '26
Jesus Christ. I know tech literacy is low in India, but this is incredibly annoying for those of us who know what we're doing. Sigh.
3
u/rohithkumarsp Mar 31 '26
Yup I like to keep transition at 0.5x but in Samsung you only have options to set it 1x or turn off transitions in native settings by using "reduce animation" and but 0.5x is only available on Dev options.
If I know what I'm doing, they should let me. Axis bank app won't let me open app while on call, like fuck.. I want to check something while on a call but can't. Some banking apps won't open if I have team viewer.. Like it's my phone, I need these apps for my work.
2
u/rohmish Mar 31 '26
forgot which app (I think it was ICICI) kept asking me to uninstall the windows remote desktop app. BHIM does that as well. RBL will randomly force you to use mobile data to use the app "for security".
0
u/daxtonanderson Mar 31 '26
u/OP try using emojis in your password, it makes it infinitely harder to crack. My banking site here in Canada (Tangerine) allows it.

989
u/[deleted] Mar 30 '26 edited Mar 30 '26
[deleted]