Password validation in case of multilanguage application
-
Hi,
I am developing bootup screen in an application which is multilanguage application & it uses following languages:
Korean,Norwegian,Polish,Portuguese,Russian,Spanish,Swedish,
french,german,italian,Turkish,danish,dutch,greek,hungarian,finnish,czech.Application uses Windows 7 as OS & it uses Visual Studio 2008 editor & Qt as presentation layer, VC++ as business layer.
The boot up screen is having password field. On entry of password: validation of password happens & on entry of correct password: user is able to see main window.
Here I am able to validate password for English language.[considering alphanumeric characters & special characters in password].
I am using On screen keyboard for editing characters in application.When non-English user runs the application: he will enter password in his language using on-screen keyborad. I want to know like how to do the password validation for non-English languages.
Please give me the information like how to do this.
Looking forward for your assistance.regards,
shankarraj -
Why do you think language makes any difference?
-
Hi,
I use On screen keyboard for keying in characters.
I have idea of characters to be considered for generating strong password in English.
I use some non-English languages like Korean,Norwegian,Polish,Portuguese,Russian,Spanish,Swedish,
french,german,italian,Turkish,danish,dutch,greek,hungarian,finnish,czech in my application for which I would like to get some information like what are the characters that can be considered for generating strong password in those languages.regards,
shankarraj -
bq. I would like to get some information like what are the characters that can be considered for generating strong password
Single characters are neither strong nor weak for passwords in any language. What makes a password strong/weak is the size of the alphabet used in the password and the statistical dependence between pairs in the password.
In this interpretation your question doesn't make any sense, so do you mean something different? Do you want to know which characters of the foreign language need to be on your keyboard (i.e. to avoid 5000 characters for chinese)? Then you'll need to hire somebody who knows all those languages. -
Your original question was about checking that a supplied password matches a stored one:
bq. The boot up screen is having password field. On entry of password: validation of password happens & on entry of correct password: user is able to see main window.
That process is independent of language.
Now it seems that when you said "validating password" you meant checking that a new supplied password was "adequately" strong.
Any printable character (QChar::isPrint() == true) the user can type is a good character for a password*. If you want to generally enforce some variety in types of characters then you could use QChar::isDigit(), isLetter(), isUpper(), isLower(), isPunct(), isSpace() and maybe even isSymbol() to determine if enough variety is present in the QString the user has given you. This removes the requirement for you to know that the Turkish alphabet has both a dotted and dotless i, the myriad of allowed accented characters in European alphabets etc. Since all your languages are alphabetic this should be adequate.
- Some non-printable characters could be allowed but they will cause more problems than they are worth.