PasswordCreator ( HowManyChars ; Parameter ; String )
Calculate any lenght of random caracter string with the chars type you want
Average rating: 4.4 (38 votes) Log in to vote
Martin D. Brunner mdb http://www.mdb.bz |
Function definition: (Copy & paste into FileMaker's Edit Custom Function window)
PasswordCreator ( HowManyChars ; Parameter ; String )
Recursive Custom Function programmed by Martin D. Brunner - 18. August 2008
mdb@gmx.net
--------------------------------
Calculate any lenght of random caracter string with the chars type you want. This function is best used either in scripts or auto calcs.
HowManyChars:
Defines how many characters the string shall contain (a number you define)
Parameter:
Defines what kind of characters are used to calculate the string.
1 = lower case
2 = upper case
3 = numeric
4 = special chars
5 = lower & upper case
6 = Numeric & lower & uper case
7 = lower & upper case & numeric & special chars
8 = numeric & lower case
9 = upper case & numeric
10 = numeric & special chars
String:
The String is the returned value. Set it in the beginning always to "" or you can also specify a prefix as i.e. "MA-" or the like.
Comments
Doug Larsen, Minneapolis May 18, 2011 |
||
This is a useful function but would be really nice if the password it generated had at least one character from each of the parameter categories. Many systems REQUIRE a lowercase letter, an uppercase letter, a number, and a special character. This function is capable of creating a password to meet those requirements but there is no guarantee that it actually will because the character selection is purely random. It could for instance create a string of all lowercase letters even though parameter 7 was chosen. |
||
HazMatt, Blaine, MN, USA Jun 13, 2013 |
||
I rewrote this to be: // PasswordCreator ( PasswordLength ; CharsLowerCase ; CharsUpperCase ; CharsNumeric ; CharsSpecial ; String ) Let( [ Counter = PasswordLength; xSet = CharsLowerCase & CharsUpperCase & CharsNumeric & CharsSpecial; xLen= Length(xSet) ]; If( Counter > 0; Let(String = String & Middle(xSet; Int(Random * xLen) + 1; 1); String) & CreateRandomPassword(Counter - 1; CharsLowerCase; CharsUpperCase; CharsNumeric; CharsSpecial; String); String ) ) I then specified the characters in a script with a loop that calls this function, which checks the actual generated password for the required characters. In my testing, a 4 digit password requiring at least 1 lower case, upper case, numeric and special character still ran very fast, even when it had to try 30+ times. This approach will guarantee that a generated password will meet the specifications that you want. |
||
Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.