@@ -102,6 +102,62 @@ module Text
102102 nil , nil , nil , nil , nil , nil , nil , nil , nil
103103 ]
104104
105+ #
106+ # Most 100 common surnames, male/female names in the U.S. (http://names.mongabay.com/)
107+ #
108+
109+ Surnames = [
110+ "adams" , "alexander" , "allen" , "anderson" , "bailey" , "baker" , "barnes" ,
111+ "bell" , "bennett" , "brooks" , "brown" , "bryant" , "butler" , "campbell" ,
112+ "carter" , "clark" , "coleman" , "collins" , "cook" , "cooper" , "cox" ,
113+ "davis" , "diaz" , "edwards" , "evans" , "flores" , "foster" , "garcia" ,
114+ "gonzales" , "gonzalez" , "gray" , "green" , "griffin" , "hall" , "harris" ,
115+ "hayes" , "henderson" , "hernandez" , "hill" , "howard" , "hughes" , "jackson" ,
116+ "james" , "jenkins" , "johnson" , "jones" , "kelly" , "king" , "lee" , "lewis" ,
117+ "long" , "lopez" , "martin" , "martinez" , "miller" , "mitchell" , "moore" ,
118+ "morgan" , "morris" , "murphy" , "nelson" , "parker" , "patterson" , "perez" ,
119+ "perry" , "peterson" , "phillips" , "powell" , "price" , "ramirez" , "reed" ,
120+ "richardson" , "rivera" , "roberts" , "robinson" , "rodriguez" , "rogers" ,
121+ "ross" , "russell" , "sanchez" , "sanders" , "scott" , "simmons" , "smith" ,
122+ "stewart" , "taylor" , "thomas" , "thompson" , "torres" , "turner" , "walker" ,
123+ "ward" , "washington" , "watson" , "white" , "williams" , "wilson" , "wood" ,
124+ "wright" , "young"
125+ ]
126+
127+ Names_Male = [
128+ "aaron" , "adam" , "alan" , "albert" , "andrew" , "anthony" , "antonio" ,
129+ "arthur" , "benjamin" , "billy" , "bobby" , "brandon" , "brian" , "bruce" ,
130+ "carl" , "carlos" , "charles" , "chris" , "christopher" , "clarence" , "craig" ,
131+ "daniel" , "david" , "dennis" , "donald" , "douglas" , "earl" , "edward" ,
132+ "eric" , "ernest" , "eugene" , "frank" , "fred" , "gary" , "george" , "gerald" ,
133+ "gregory" , "harold" , "harry" , "henry" , "howard" , "jack" , "james" , "jason" ,
134+ "jeffrey" , "jeremy" , "jerry" , "jesse" , "jimmy" , "joe" , "john" , "johnny" ,
135+ "jonathan" , "jose" , "joseph" , "joshua" , "juan" , "justin" , "keith" ,
136+ "kenneth" , "kevin" , "larry" , "lawrence" , "louis" , "mark" , "martin" ,
137+ "matthew" , "michael" , "nicholas" , "patrick" , "paul" , "peter" , "philip" ,
138+ "phillip" , "ralph" , "randy" , "raymond" , "richard" , "robert" , "roger" ,
139+ "ronald" , "roy" , "russell" , "ryan" , "samuel" , "scott" , "sean" , "shawn" ,
140+ "stephen" , "steve" , "steven" , "terry" , "thomas" , "timothy" , "todd" ,
141+ "victor" , "walter" , "wayne" , "william" , "willie"
142+ ]
143+
144+ Names_Female = [
145+ "alice" , "amanda" , "amy" , "andrea" , "angela" , "ann" , "anna" , "anne" ,
146+ "annie" , "ashley" , "barbara" , "betty" , "beverly" , "bonnie" , "brenda" ,
147+ "carol" , "carolyn" , "catherine" , "cheryl" , "christina" , "christine" ,
148+ "cynthia" , "deborah" , "debra" , "denise" , "diana" , "diane" , "donna" ,
149+ "doris" , "dorothy" , "elizabeth" , "emily" , "evelyn" , "frances" , "gloria" ,
150+ "heather" , "helen" , "irene" , "jacqueline" , "jane" , "janet" , "janice" ,
151+ "jean" , "jennifer" , "jessica" , "joan" , "joyce" , "judith" , "judy" , "julia" ,
152+ "julie" , "karen" , "katherine" , "kathleen" , "kathryn" , "kathy" , "kelly" ,
153+ "kimberly" , "laura" , "lillian" , "linda" , "lisa" , "lois" , "lori" , "louise" ,
154+ "margaret" , "maria" , "marie" , "marilyn" , "martha" , "mary" , "melissa" ,
155+ "michelle" , "mildred" , "nancy" , "nicole" , "norma" , "pamela" , "patricia" ,
156+ "paula" , "phyllis" , "rachel" , "rebecca" , "robin" , "rose" , "ruby" , "ruth" ,
157+ "sandra" , "sara" , "sarah" , "sharon" , "shirley" , "stephanie" , "susan" ,
158+ "tammy" , "teresa" , "theresa" , "tina" , "virginia" , "wanda"
159+ ]
160+
105161 ##
106162 #
107163 # Serialization
@@ -1535,6 +1591,44 @@ def self.rand_state()
15351591 States [ rand ( States . size ) ]
15361592 end
15371593
1594+ # Generate a surname
1595+ def self . rand_surname
1596+ Surnames [ rand ( Surnames . size ) ]
1597+ end
1598+
1599+ # Generate a name
1600+ def self . rand_name
1601+ if rand ( 10 ) % 2 == 0
1602+ Names_Male [ rand ( Names_Male . size ) ]
1603+ else
1604+ Names_Female [ rand ( Names_Female . size ) ]
1605+ end
1606+ end
1607+
1608+ # Generate a male name
1609+ def self . rand_name_male
1610+ Names_Male [ rand ( Names_Male . size ) ]
1611+ end
1612+
1613+ # Generate a female name
1614+ def self . rand_name_female
1615+ Names_Female [ rand ( Names_Female . size ) ]
1616+ end
1617+
1618+ # Generate a random mail address
1619+ def self . rand_mail_address
1620+ d = [ 'com' , 'net' , 'org' , 'gov' , 'biz' , 'edu' ]
1621+
1622+ mail_address = ''
1623+ mail_address << Rex ::Text . rand_name
1624+ mail_address << '.'
1625+ mail_address << Rex ::Text . rand_surname
1626+ mail_address << '@'
1627+ mail_address << Rex ::Text . rand_text_alpha ( rand ( 5 ) + 4 ) . downcase
1628+ mail_address << '.'
1629+ mail_address << d [ rand ( d . size ) ]
1630+ end
1631+
15381632
15391633 #
15401634 # Calculate the ROR13 hash of a given string
0 commit comments