@@ -102,6 +102,62 @@ module Text
102
102
nil , nil , nil , nil , nil , nil , nil , nil , nil
103
103
]
104
104
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
+
105
161
##
106
162
#
107
163
# Serialization
@@ -1535,6 +1591,44 @@ def self.rand_state()
1535
1591
States [ rand ( States . size ) ]
1536
1592
end
1537
1593
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
+
1538
1632
1539
1633
#
1540
1634
# Calculate the ROR13 hash of a given string
0 commit comments