How to generate a random alpha-numeric string?
code for secure, easy
If you allow session identifiers to be easily guessable (too short, flawed random number generator, etc.), attackers can hijack other's sessions. Note that
SecureRandomobjects are expensive to initialize, so you'll want to keep one around and reuse it.
What is Difference between == operator and .equals() ?
== tests for reference equality (whether they are the same object).
.equals() tests for value equality (whether they are logically "equal").
Consequently, if you want to test whether two strings have the same value you should use .equals().
// These two have the same value
new String("test").equals("test") // --> true
// ... but they are not the same object
new String("test") == "test" // --> false
// ... neither are these
new String("test") == new String("test") // --> false
// ... but these are because literals are interned by
// the compiler and thus refer to the same object
"test" == "test" // --> true
You almost always want to use.equals(). In the rare situation where you know you're dealing with interned strings, you can use ==.
equals()exactly Compares this String to another String, BUT
equalsIgnoreCase()Compares this String to another String, ignoring case considerations.