Here’s a nice static method for creating random passwords…should the need ever arise
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| public static function generateRandomPassword( length:int = 7 ) : String
{
//characters to use in password
var _salt : String = "abchefghjkmnpqrstuvwxyz0123456789ABCHEFGHJKMNPQRSTUVWXYZ";
//initialize vars
var _password : String = '';
var _i:Number = 0;
//loop
while ( _i <= length )
{
var _num : Number = Math.random() * _salt.length;
_password += _salt.charAt( _num );
_i++;
}
return _password;
} |
Enjoy!
Today I ran into a situation where I wanted to display my password characters as a bullet versus the default asterisk (“*”).
I thought this would be pretty simple to do but realized after digging through the Flex 4 SDK that there was no public property I could set to change this. I tried hacking commitProperties and a couple of other methods but came up short in those areas as well until I found the exact spot in the Flex libraries where this character was defined:
RichEditableText.as (line 679)
1
2
3
4
| /**
* @private
*/
mx_internal var passwordChar:String = "*"; |
A-ha! I see here that it’s prefixed with the “mx_internal” namespace and I remembered from other examples around the web that you can easily tap into that namespace and modify properties not normally meant to be modified.
Luckily, I had already extended the TextInput class for various other reasons and decided to add an event listener for the CREATION_COMPLETE lifecycle event of the component. This was added in the constructor:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| import mx.core.mx_internal;
/**
* Constructor
*/
public function myTextInput()
{
super();
this.addEventListener( FlexEvent.CREATION_COMPLETE, onCreationComplete );
}
private function onCreationComplete( event : FlexEvent ) : void
{
//change internal passwordChar to a bullet versus an asterisk
this.textDisplay.mx_internal::passwordChar = "●";
} |
…and voila! By tapping into the mx_internal namespace, I found I could modify the normally private variable “passwordChar” and set it to something I preferred better (in this case, the bullet point used in some sites like Twitter).
Hope this helps someone!
Recent Comments