nice_password 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source "http://rubygems.org"
2
+
3
+ group :development do
4
+ gem 'jeweler'
5
+ end
6
+
7
+ group :test do
8
+ gem 'rspec'
9
+ end
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Nova Fabrica, Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,75 @@
1
+ =NicePassword
2
+
3
+ NicePassword creates easy-to-remember but still somewhat secure passwords by mixing common words from a "safe" dictionary with random numbers. The password is easier to read and to remember than purely random strings of letters and numbers, making it "nicer" on users. NicePassword is ideal whenever you need Rails to auto-generate a password for a user--such as after the user clicks a "send me a new password" link or as a "suggested password" on a password edit page.
4
+
5
+ Examples of NicePasswords:
6
+ campaign34bone
7
+ parent492wheat
8
+ orbit8low5mix
9
+
10
+ The dictionary contains a list of words which are reasonably safe for use in a corporate environment. For example, besides omitting obscene and slang words, words such as 'kill' and 'hate' are excluded.
11
+
12
+
13
+ ==Usage
14
+
15
+ To generate a password just call NicePassword.new.
16
+
17
+ > NicePassword.new
18
+ # => basic34lesser
19
+
20
+ Options that can be passed when creating a new NicePassword include:
21
+
22
+ * :length - total number of characters, default is 12
23
+ * :words - total number of words, between 1-4, default is 2
24
+ * :digits - number of digits between each word (not the total number), default is 2
25
+ * :language - abbreviation for language to use for the words, default is 'en' (English)
26
+ * :dictionary - a custom dictionary (as an array) to use instead of the default dictionaries
27
+
28
+ > NicePassword.new(:language => 'fr', :length => 16, :words => 3, :digits => 3)
29
+ # => été826gris641rue
30
+
31
+
32
+ ==Languages and Dictionaries
33
+
34
+ The included dictionaries are:
35
+ * English: 'en'
36
+ * French: 'fr'
37
+ * Spanish: 'es'
38
+
39
+ English is the default language. You can set a different default language using:
40
+
41
+ NicePassword.default_language = 'fr'
42
+
43
+ Or you can choose a language on a case-by-case basis by passing in the language abbreviation as the value to the :language option (see Usage above).
44
+
45
+ If you want to use your own dictionary (either with custom words or for another language), you just pass in an array of words as the value to the :dictionary option. You will want to make sure that your dictionary has several words of each length and includes single letters.
46
+
47
+
48
+ ==Security
49
+
50
+ NicePassword passwords are not as secure as a random string would be--that is obvious. However, they are much more secure than the passwords most users pick on their own.
51
+
52
+ Random strings are hard to remember, easy to mistype and increase the likelihood that a user will switch to a very weak password at the first opportunity. Because NicePasswords are much easy to remember, a user is more likely to keep them. If they still opt to switch to a stronger or weaker password, then you are no worse off, but provided a better user experience.
53
+
54
+ The inclusion of digits between the dictionary words is intended to make a brute force dictionary attack much harder. Increasing the number of digits between words, or the number of words with digits between them, will increase the security strength of the password.
55
+
56
+
57
+ ==Info
58
+
59
+ Authors: Kevin Skoglund & Matthew Bergman, Nova Fabrica, Inc.
60
+
61
+ License: Copyright 2010 by Kevin Skoglund. released under the attached MIT-LICENSE.
62
+
63
+ GitHub: http://github.com/novafabrica/nice_password/tree/master
64
+
65
+
66
+ ==Bug Reports and Feedback
67
+
68
+ Bug reports should be submitted at https://github.com/novafabrica/nice_password/issues
69
+
70
+ Other feedback is welcomed at info@novafabrica.com
71
+
72
+
73
+ ==Warranty
74
+
75
+ This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
data/Rakefile ADDED
@@ -0,0 +1,58 @@
1
+ begin
2
+ # Rspec 1.3.0
3
+ require 'spec/rake/spectask'
4
+ desc 'Default: run specs'
5
+ task :default => :spec
6
+ Spec::Rake::SpecTask.new do |t|
7
+ t.spec_files = FileList["spec/**/*_spec.rb"]
8
+ end
9
+
10
+ Spec::Rake::SpecTask.new('rcov') do |t|
11
+ t.spec_files = FileList["spec/**/*_spec.rb"]
12
+ t.rcov = true
13
+ t.rcov_opts = ['--exclude', 'spec']
14
+ end
15
+
16
+ rescue LoadError
17
+ # Rspec 2.0
18
+ require 'rspec/core/rake_task'
19
+
20
+ desc 'Default: run specs'
21
+ task :default => :spec
22
+ Rspec::Core::RakeTask.new do |t|
23
+ t.pattern = "spec/**/*_spec.rb"
24
+ end
25
+
26
+ Rspec::Core::RakeTask.new('rcov') do |t|
27
+ t.pattern = "spec/**/*_spec.rb"
28
+ t.rcov = true
29
+ t.rcov_opts = ['--exclude', 'spec']
30
+ end
31
+
32
+ rescue LoadError
33
+ puts "Rspec not available. Install it with: gem install rspec"
34
+ end
35
+
36
+ namespace 'rails2.3' do
37
+ task :spec do
38
+ gemfile = File.join(File.dirname(__FILE__), 'lib', 'acts_as_taggable_on', 'compatibility', 'Gemfile')
39
+ ENV['BUNDLE_GEMFILE'] = gemfile
40
+ Rake::Task['spec'].invoke
41
+ end
42
+ end
43
+
44
+ begin
45
+ require 'jeweler'
46
+ Jeweler::Tasks.new do |gemspec|
47
+ gemspec.name = "nice_password"
48
+ gemspec.summary = "Generate easy to read/remember passwords"
49
+ gemspec.description = "NicePassword creates easy-to-remember, reasonably-secure passwords by mixing dictionary words and random numbers."
50
+ gemspec.email = "kevin@novafabrica.com"
51
+ gemspec.homepage = "http://github.com/novafabrica/nice_password"
52
+ gemspec.authors = ["Kevin Skoglund", "Matthew Bergman"]
53
+ gemspec.files = FileList["[A-Z]*", "{generators,lib,spec,rails}/**/*"] - FileList["**/*.log"]
54
+ end
55
+ Jeweler::GemcutterTasks.new
56
+ rescue LoadError
57
+ puts "Jeweler not available. Install it with: gem install jeweler"
58
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,5 @@
1
+ require 'nice_password/core_ext'
2
+ require 'nice_password/nice_password'
3
+ require 'nice_password/errors'
4
+
5
+
@@ -0,0 +1,11 @@
1
+ class Hash
2
+
3
+ # Slice a hash to include only the given keys.
4
+ def slice(*keys)
5
+ keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key)
6
+ hash = self.class.new
7
+ keys.each { |k| hash[k] = self[k] if has_key?(k) }
8
+ hash
9
+ end
10
+
11
+ end
@@ -0,0 +1,1330 @@
1
+ ---
2
+ - a
3
+ - able
4
+ - about
5
+ - above
6
+ - accept
7
+ - accident
8
+ - accuse
9
+ - across
10
+ - act
11
+ - activist
12
+ - actor
13
+ - add
14
+ - administration
15
+ - admit
16
+ - advise
17
+ - affect
18
+ - afraid
19
+ - after
20
+ - again
21
+ - against
22
+ - age
23
+ - agency
24
+ - ago
25
+ - agree
26
+ - agriculture
27
+ - aid
28
+ - aim
29
+ - air
30
+ - airplane
31
+ - airport
32
+ - alive
33
+ - all
34
+ - ally
35
+ - almost
36
+ - alone
37
+ - along
38
+ - already
39
+ - also
40
+ - although
41
+ - always
42
+ - ambassador
43
+ - amend
44
+ - ammunition
45
+ - among
46
+ - amount
47
+ - an
48
+ - ancient
49
+ - and
50
+ - anger
51
+ - animal
52
+ - anniversary
53
+ - announce
54
+ - another
55
+ - answer
56
+ - any
57
+ - apologize
58
+ - appeal
59
+ - appear
60
+ - appoint
61
+ - approve
62
+ - area
63
+ - argue
64
+ - arms
65
+ - army
66
+ - around
67
+ - arrest
68
+ - arrive
69
+ - art
70
+ - artillery
71
+ - as
72
+ - ash
73
+ - ask
74
+ - assist
75
+ - astronaut
76
+ - asylum
77
+ - at
78
+ - atmosphere
79
+ - atom
80
+ - attack
81
+ - attempt
82
+ - attend
83
+ - automobile
84
+ - autumn
85
+ - awake
86
+ - award
87
+ - away
88
+ - b
89
+ - back
90
+ - bad
91
+ - balance
92
+ - ball
93
+ - balloon
94
+ - ballot
95
+ - ban
96
+ - bank
97
+ - bar
98
+ - base
99
+ - battle
100
+ - be
101
+ - beach
102
+ - beat
103
+ - beauty
104
+ - because
105
+ - become
106
+ - bed
107
+ - beg
108
+ - begin
109
+ - behind
110
+ - believe
111
+ - bell
112
+ - belong
113
+ - below
114
+ - best
115
+ - better
116
+ - between
117
+ - big
118
+ - bill
119
+ - bird
120
+ - bite
121
+ - bitter
122
+ - black
123
+ - blame
124
+ - blanket
125
+ - bleed
126
+ - blind
127
+ - block
128
+ - blood
129
+ - blow
130
+ - blue
131
+ - boat
132
+ - body
133
+ - boil
134
+ - bomb
135
+ - bone
136
+ - book
137
+ - border
138
+ - born
139
+ - borrow
140
+ - both
141
+ - bottle
142
+ - bottom
143
+ - box
144
+ - boy
145
+ - brain
146
+ - brave
147
+ - bread
148
+ - break
149
+ - breathe
150
+ - bridge
151
+ - brief
152
+ - bright
153
+ - bring
154
+ - broadcast
155
+ - brother
156
+ - brown
157
+ - build
158
+ - bullet
159
+ - burn
160
+ - burst
161
+ - bury
162
+ - bus
163
+ - business
164
+ - busy
165
+ - but
166
+ - buy
167
+ - by
168
+ - c
169
+ - cabinet
170
+ - call
171
+ - calm
172
+ - camera
173
+ - campaign
174
+ - can
175
+ - cancel
176
+ - candidate
177
+ - cannon
178
+ - capital
179
+ - capture
180
+ - car
181
+ - care
182
+ - careful
183
+ - carry
184
+ - case
185
+ - cat
186
+ - catch
187
+ - cattle
188
+ - cause
189
+ - ceasefire
190
+ - celebrate
191
+ - cell
192
+ - center
193
+ - century
194
+ - ceremony
195
+ - chairman
196
+ - champion
197
+ - chance
198
+ - change
199
+ - charge
200
+ - chase
201
+ - cheat
202
+ - check
203
+ - cheer
204
+ - chemicals
205
+ - chief
206
+ - child
207
+ - choose
208
+ - church
209
+ - circle
210
+ - citizen
211
+ - city
212
+ - civil
213
+ - civilian
214
+ - clash
215
+ - clean
216
+ - clear
217
+ - clergy
218
+ - climb
219
+ - clock
220
+ - close
221
+ - cloth
222
+ - clothes
223
+ - cloud
224
+ - coal
225
+ - coalition
226
+ - coast
227
+ - coffee
228
+ - cold
229
+ - collect
230
+ - colony
231
+ - color
232
+ - come
233
+ - comedy
234
+ - command
235
+ - comment
236
+ - committee
237
+ - common
238
+ - communicate
239
+ - company
240
+ - compete
241
+ - complete
242
+ - compromise
243
+ - computer
244
+ - concern
245
+ - condemn
246
+ - condition
247
+ - conference
248
+ - confirm
249
+ - conflict
250
+ - congratulate
251
+ - congress
252
+ - connect
253
+ - conservative
254
+ - consider
255
+ - contain
256
+ - continent
257
+ - continue
258
+ - control
259
+ - convention
260
+ - cook
261
+ - cool
262
+ - cooperate
263
+ - copy
264
+ - correct
265
+ - cost
266
+ - constitution
267
+ - cotton
268
+ - count
269
+ - country
270
+ - court
271
+ - cover
272
+ - cow
273
+ - crash
274
+ - create
275
+ - creature
276
+ - credit
277
+ - crew
278
+ - crime
279
+ - criminal
280
+ - crisis
281
+ - criticize
282
+ - crops
283
+ - cross
284
+ - crowd
285
+ - crush
286
+ - cry
287
+ - culture
288
+ - cure
289
+ - current
290
+ - custom
291
+ - cut
292
+ - d
293
+ - dam
294
+ - damage
295
+ - dance
296
+ - danger
297
+ - dark
298
+ - date
299
+ - daughter
300
+ - day
301
+ - deal
302
+ - debate
303
+ - decide
304
+ - declare
305
+ - deed
306
+ - deep
307
+ - defeat
308
+ - defend
309
+ - deficit
310
+ - degree
311
+ - delay
312
+ - delegate
313
+ - demand
314
+ - democracy
315
+ - demonstrate
316
+ - denounce
317
+ - deny
318
+ - depend
319
+ - deploy
320
+ - describe
321
+ - desert
322
+ - design
323
+ - desire
324
+ - details
325
+ - develop
326
+ - device
327
+ - different
328
+ - difficult
329
+ - dig
330
+ - dinner
331
+ - diplomat
332
+ - direct
333
+ - direction
334
+ - disappear
335
+ - disarm
336
+ - discover
337
+ - discuss
338
+ - dismiss
339
+ - dispute
340
+ - dissident
341
+ - distance
342
+ - distant
343
+ - dive
344
+ - divide
345
+ - do
346
+ - doctor
347
+ - document
348
+ - dollar
349
+ - door
350
+ - down
351
+ - draft
352
+ - dream
353
+ - drink
354
+ - drive
355
+ - drown
356
+ - dry
357
+ - during
358
+ - dust
359
+ - duty
360
+ - e
361
+ - each
362
+ - early
363
+ - earn
364
+ - earth
365
+ - earthquake
366
+ - ease
367
+ - east
368
+ - eat
369
+ - economy
370
+ - edge
371
+ - educate
372
+ - effect
373
+ - effort
374
+ - egg
375
+ - either
376
+ - elect
377
+ - electricity
378
+ - electron
379
+ - element
380
+ - embassy
381
+ - emergency
382
+ - emotion
383
+ - employ
384
+ - empty
385
+ - end
386
+ - enemy
387
+ - energy
388
+ - enforce
389
+ - engine
390
+ - engineer
391
+ - enjoy
392
+ - enough
393
+ - enter
394
+ - equipment
395
+ - equal
396
+ - escape
397
+ - especially
398
+ - establish
399
+ - even
400
+ - event
401
+ - ever
402
+ - every
403
+ - evidence
404
+ - evil
405
+ - environment
406
+ - exact
407
+ - examine
408
+ - example
409
+ - excellent
410
+ - except
411
+ - exchange
412
+ - excite
413
+ - excuse
414
+ - execute
415
+ - exile
416
+ - exist
417
+ - expand
418
+ - expect
419
+ - expel
420
+ - experiment
421
+ - expert
422
+ - explain
423
+ - explode
424
+ - explore
425
+ - export
426
+ - express
427
+ - extend
428
+ - extra
429
+ - extreme
430
+ - f
431
+ - face
432
+ - fact
433
+ - factory
434
+ - fail
435
+ - fair
436
+ - fall
437
+ - family
438
+ - famous
439
+ - fanatic
440
+ - far
441
+ - farm
442
+ - fast
443
+ - father
444
+ - fear
445
+ - feast
446
+ - federal
447
+ - feed
448
+ - feel
449
+ - few
450
+ - field
451
+ - fierce
452
+ - fight
453
+ - fill
454
+ - film
455
+ - final
456
+ - find
457
+ - fine
458
+ - finish
459
+ - fire
460
+ - firm
461
+ - first
462
+ - fish
463
+ - fix
464
+ - flag
465
+ - flat
466
+ - flee
467
+ - float
468
+ - flood
469
+ - floor
470
+ - flow
471
+ - flower
472
+ - fluid
473
+ - fly
474
+ - fog
475
+ - follow
476
+ - food
477
+ - foot
478
+ - for
479
+ - force
480
+ - forget
481
+ - forgive
482
+ - form
483
+ - former
484
+ - forward
485
+ - free
486
+ - freeze
487
+ - fresh
488
+ - friend
489
+ - frighten
490
+ - from
491
+ - front
492
+ - fruit
493
+ - fuel
494
+ - funeral
495
+ - furious
496
+ - future
497
+ - g
498
+ - gain
499
+ - game
500
+ - gas
501
+ - gather
502
+ - general
503
+ - gentle
504
+ - get
505
+ - gift
506
+ - girl
507
+ - give
508
+ - glass
509
+ - go
510
+ - goal
511
+ - gold
512
+ - good
513
+ - goodbye
514
+ - goods
515
+ - govern
516
+ - government
517
+ - grain
518
+ - grandfather
519
+ - grandmother
520
+ - grass
521
+ - gray
522
+ - great
523
+ - green
524
+ - grind
525
+ - ground
526
+ - group
527
+ - grow
528
+ - guarantee
529
+ - guard
530
+ - guerilla
531
+ - guide
532
+ - guilty
533
+ - gun
534
+ - h
535
+ - hair
536
+ - half
537
+ - halt
538
+ - hang
539
+ - happen
540
+ - happy
541
+ - harbor
542
+ - hard
543
+ - harm
544
+ - hat
545
+ - head
546
+ - headquarters
547
+ - health
548
+ - hear
549
+ - heart
550
+ - heat
551
+ - heavy
552
+ - helicopter
553
+ - help
554
+ - here
555
+ - hero
556
+ - hide
557
+ - high
558
+ - hill
559
+ - history
560
+ - hit
561
+ - hold
562
+ - hole
563
+ - holiday
564
+ - holy
565
+ - home
566
+ - honest
567
+ - honor
568
+ - hope
569
+ - horse
570
+ - hospital
571
+ - hot
572
+ - hotel
573
+ - hour
574
+ - house
575
+ - how
576
+ - however
577
+ - huge
578
+ - human
579
+ - humor
580
+ - hunger
581
+ - hunt
582
+ - hurry
583
+ - hurt
584
+ - husband
585
+ - i
586
+ - ice
587
+ - idea
588
+ - if
589
+ - imagine
590
+ - immediate
591
+ - import
592
+ - important
593
+ - improve
594
+ - in
595
+ - incident
596
+ - incite
597
+ - include
598
+ - increase
599
+ - independent
600
+ - industry
601
+ - inflation
602
+ - influence
603
+ - inform
604
+ - injure
605
+ - innocent
606
+ - insect
607
+ - inspect
608
+ - instead
609
+ - instrument
610
+ - insult
611
+ - intelligent
612
+ - intense
613
+ - interest
614
+ - interfere
615
+ - international
616
+ - intervene
617
+ - invade
618
+ - invent
619
+ - invest
620
+ - investigate
621
+ - invite
622
+ - involve
623
+ - iron
624
+ - island
625
+ - issue
626
+ - it
627
+ - j
628
+ - jail
629
+ - jewel
630
+ - job
631
+ - join
632
+ - joint
633
+ - joke
634
+ - judge
635
+ - jump
636
+ - jungle
637
+ - jury
638
+ - just
639
+ - k
640
+ - keep
641
+ - kick
642
+ - kind
643
+ - kiss
644
+ - knife
645
+ - know
646
+ - l
647
+ - labor
648
+ - laboratory
649
+ - lack
650
+ - lake
651
+ - land
652
+ - language
653
+ - large
654
+ - last
655
+ - late
656
+ - laugh
657
+ - launch
658
+ - law
659
+ - lead
660
+ - leak
661
+ - learn
662
+ - leave
663
+ - left
664
+ - legal
665
+ - lend
666
+ - less
667
+ - let
668
+ - letter
669
+ - level
670
+ - liberal
671
+ - lie
672
+ - life
673
+ - light
674
+ - lightning
675
+ - like
676
+ - limit
677
+ - line
678
+ - link
679
+ - liquid
680
+ - list
681
+ - listen
682
+ - little
683
+ - live
684
+ - load
685
+ - local
686
+ - lonely
687
+ - long
688
+ - look
689
+ - lose
690
+ - loud
691
+ - love
692
+ - low
693
+ - loyal
694
+ - luck
695
+ - m
696
+ - machine
697
+ - mad
698
+ - mail
699
+ - main
700
+ - major
701
+ - majority
702
+ - make
703
+ - male
704
+ - man
705
+ - map
706
+ - march
707
+ - mark
708
+ - marker
709
+ - mass
710
+ - material
711
+ - may
712
+ - mayor
713
+ - measure
714
+ - medicine
715
+ - meet
716
+ - melt
717
+ - member
718
+ - memorial
719
+ - memory
720
+ - mercy
721
+ - message
722
+ - metal
723
+ - method
724
+ - microscope
725
+ - middle
726
+ - military
727
+ - milk
728
+ - mind
729
+ - mine
730
+ - mineral
731
+ - minister
732
+ - minor
733
+ - minute
734
+ - miss
735
+ - missile
736
+ - missing
737
+ - mistake
738
+ - mix
739
+ - moderate
740
+ - modern
741
+ - money
742
+ - month
743
+ - moon
744
+ - more
745
+ - morning
746
+ - most
747
+ - mother
748
+ - motion
749
+ - mountain
750
+ - mourn
751
+ - move
752
+ - much
753
+ - music
754
+ - must
755
+ - mystery
756
+ - n
757
+ - name
758
+ - nation
759
+ - navy
760
+ - near
761
+ - necessary
762
+ - need
763
+ - negotiate
764
+ - neither
765
+ - nerve
766
+ - neutral
767
+ - never
768
+ - new
769
+ - news
770
+ - next
771
+ - nice
772
+ - night
773
+ - "no"
774
+ - noise
775
+ - nominate
776
+ - noon
777
+ - normal
778
+ - north
779
+ - not
780
+ - note
781
+ - nothing
782
+ - now
783
+ - nowhere
784
+ - number
785
+ - nurse
786
+ - o
787
+ - obey
788
+ - object
789
+ - observe
790
+ - occupy
791
+ - ocean
792
+ - of
793
+ - "off"
794
+ - offer
795
+ - officer
796
+ - official
797
+ - often
798
+ - oil
799
+ - old
800
+ - "on"
801
+ - once
802
+ - only
803
+ - open
804
+ - operate
805
+ - opinion
806
+ - oppose
807
+ - opposite
808
+ - or
809
+ - orbit
810
+ - orchestra
811
+ - order
812
+ - organize
813
+ - other
814
+ - oust
815
+ - out
816
+ - over
817
+ - owe
818
+ - own
819
+ - p
820
+ - pain
821
+ - paint
822
+ - palace
823
+ - pamphlet
824
+ - pan
825
+ - paper
826
+ - parachute
827
+ - parade
828
+ - pardon
829
+ - parent
830
+ - parliament
831
+ - part
832
+ - party
833
+ - pass
834
+ - passenger
835
+ - passport
836
+ - past
837
+ - path
838
+ - pay
839
+ - peace
840
+ - people
841
+ - percent
842
+ - perfect
843
+ - perhaps
844
+ - period
845
+ - permanent
846
+ - permit
847
+ - person
848
+ - physics
849
+ - piano
850
+ - picture
851
+ - piece
852
+ - pilot
853
+ - pipe
854
+ - pirate
855
+ - place
856
+ - planet
857
+ - plant
858
+ - play
859
+ - please
860
+ - plenty
861
+ - plot
862
+ - poem
863
+ - point
864
+ - police
865
+ - policy
866
+ - politics
867
+ - pollute
868
+ - popular
869
+ - population
870
+ - port
871
+ - position
872
+ - possess
873
+ - possible
874
+ - postpone
875
+ - pour
876
+ - power
877
+ - praise
878
+ - pray
879
+ - prepare
880
+ - present
881
+ - president
882
+ - press
883
+ - pressure
884
+ - prevent
885
+ - price
886
+ - priest
887
+ - private
888
+ - prize
889
+ - probably
890
+ - problem
891
+ - produce
892
+ - professor
893
+ - program
894
+ - progress
895
+ - project
896
+ - promise
897
+ - property
898
+ - propose
899
+ - protect
900
+ - protest
901
+ - proud
902
+ - prove
903
+ - provide
904
+ - public
905
+ - publication
906
+ - publish
907
+ - pull
908
+ - pump
909
+ - punish
910
+ - purchase
911
+ - pure
912
+ - purpose
913
+ - push
914
+ - put
915
+ - q
916
+ - question
917
+ - quick
918
+ - quiet
919
+ - r
920
+ - rabbi
921
+ - race
922
+ - radar
923
+ - radiation
924
+ - radio
925
+ - raid
926
+ - railroad
927
+ - rain
928
+ - raise
929
+ - rapid
930
+ - rare
931
+ - rate
932
+ - reach
933
+ - read
934
+ - ready
935
+ - real
936
+ - realistic
937
+ - reason
938
+ - reasonable
939
+ - rebel
940
+ - receive
941
+ - recent
942
+ - recognize
943
+ - record
944
+ - red
945
+ - reduce
946
+ - reform
947
+ - refuse
948
+ - regret
949
+ - relationship
950
+ - release
951
+ - religion
952
+ - remain
953
+ - remember
954
+ - remove
955
+ - repair
956
+ - repeat
957
+ - report
958
+ - repress
959
+ - request
960
+ - rescue
961
+ - resolution
962
+ - responsible
963
+ - rest
964
+ - restrain
965
+ - restrict
966
+ - result
967
+ - return
968
+ - revolt
969
+ - rich
970
+ - ride
971
+ - right
972
+ - riot
973
+ - rise
974
+ - river
975
+ - road
976
+ - rock
977
+ - rocket
978
+ - roll
979
+ - room
980
+ - root
981
+ - rope
982
+ - rough
983
+ - round
984
+ - rub
985
+ - rubber
986
+ - ruin
987
+ - rule
988
+ - run
989
+ - s
990
+ - sacrifice
991
+ - sad
992
+ - safe
993
+ - sail
994
+ - salt
995
+ - same
996
+ - satellite
997
+ - satisfy
998
+ - save
999
+ - say
1000
+ - school
1001
+ - science
1002
+ - scream
1003
+ - sea
1004
+ - search
1005
+ - season
1006
+ - seat
1007
+ - second
1008
+ - secret
1009
+ - security
1010
+ - see
1011
+ - seek
1012
+ - seem
1013
+ - seize
1014
+ - self
1015
+ - sell
1016
+ - senate
1017
+ - send
1018
+ - sense
1019
+ - sentence
1020
+ - separate
1021
+ - series
1022
+ - serious
1023
+ - sermon
1024
+ - serve
1025
+ - set
1026
+ - settle
1027
+ - several
1028
+ - severe
1029
+ - shake
1030
+ - shape
1031
+ - share
1032
+ - sharp
1033
+ - shell
1034
+ - shine
1035
+ - ship
1036
+ - shock
1037
+ - shoe
1038
+ - shoot
1039
+ - short
1040
+ - should
1041
+ - shout
1042
+ - show
1043
+ - shrink
1044
+ - shut
1045
+ - side
1046
+ - sign
1047
+ - signal
1048
+ - silence
1049
+ - silver
1050
+ - similar
1051
+ - simple
1052
+ - since
1053
+ - sing
1054
+ - sink
1055
+ - sister
1056
+ - sit
1057
+ - situation
1058
+ - size
1059
+ - skeleton
1060
+ - skill
1061
+ - sky
1062
+ - sleep
1063
+ - slide
1064
+ - slow
1065
+ - small
1066
+ - smash
1067
+ - smell
1068
+ - smile
1069
+ - smoke
1070
+ - smooth
1071
+ - snow
1072
+ - so
1073
+ - social
1074
+ - soft
1075
+ - soldier
1076
+ - solid
1077
+ - solve
1078
+ - some
1079
+ - son
1080
+ - soon
1081
+ - sorry
1082
+ - sort
1083
+ - sound
1084
+ - south
1085
+ - space
1086
+ - speak
1087
+ - special
1088
+ - speed
1089
+ - spend
1090
+ - spill
1091
+ - spilt
1092
+ - spirit
1093
+ - split
1094
+ - sports
1095
+ - spread
1096
+ - spring
1097
+ - spy
1098
+ - stamp
1099
+ - stand
1100
+ - star
1101
+ - start
1102
+ - state
1103
+ - station
1104
+ - statue
1105
+ - stay
1106
+ - steal
1107
+ - steam
1108
+ - steel
1109
+ - step
1110
+ - stick
1111
+ - still
1112
+ - stomach
1113
+ - stone
1114
+ - stop
1115
+ - store
1116
+ - storm
1117
+ - story
1118
+ - stove
1119
+ - straight
1120
+ - strange
1121
+ - street
1122
+ - stretch
1123
+ - strike
1124
+ - strong
1125
+ - struggle
1126
+ - study
1127
+ - stupid
1128
+ - submarine
1129
+ - substance
1130
+ - substitute
1131
+ - subversion
1132
+ - succeed
1133
+ - such
1134
+ - sudden
1135
+ - suffer
1136
+ - sugar
1137
+ - summer
1138
+ - sun
1139
+ - supervise
1140
+ - supply
1141
+ - support
1142
+ - suppose
1143
+ - suppress
1144
+ - sure
1145
+ - surplus
1146
+ - surprise
1147
+ - surround
1148
+ - survive
1149
+ - suspect
1150
+ - suspend
1151
+ - swear
1152
+ - sweet
1153
+ - swim
1154
+ - sympathy
1155
+ - system
1156
+ - t
1157
+ - take
1158
+ - talk
1159
+ - tall
1160
+ - tank
1161
+ - target
1162
+ - task
1163
+ - taste
1164
+ - tax
1165
+ - teach
1166
+ - team
1167
+ - tear
1168
+ - tears
1169
+ - technical
1170
+ - telephone
1171
+ - telescope
1172
+ - television
1173
+ - tell
1174
+ - temperature
1175
+ - temporary
1176
+ - tense
1177
+ - term
1178
+ - territory
1179
+ - test
1180
+ - textiles
1181
+ - than
1182
+ - thank
1183
+ - that
1184
+ - the
1185
+ - theater
1186
+ - then
1187
+ - there
1188
+ - thick
1189
+ - thin
1190
+ - thing
1191
+ - think
1192
+ - third
1193
+ - this
1194
+ - threaten
1195
+ - through
1196
+ - throw
1197
+ - tie
1198
+ - time
1199
+ - tissue
1200
+ - to
1201
+ - today
1202
+ - together
1203
+ - tomorrow
1204
+ - tonight
1205
+ - too
1206
+ - tool
1207
+ - top
1208
+ - touch
1209
+ - toward
1210
+ - town
1211
+ - trade
1212
+ - tradition
1213
+ - tragic
1214
+ - train
1215
+ - transport
1216
+ - trap
1217
+ - travel
1218
+ - treasure
1219
+ - treat
1220
+ - treaty
1221
+ - tree
1222
+ - trial
1223
+ - tribe
1224
+ - trick
1225
+ - trip
1226
+ - troops
1227
+ - trouble
1228
+ - truce
1229
+ - truck
1230
+ - trust
1231
+ - try
1232
+ - turn
1233
+ - u
1234
+ - under
1235
+ - understand
1236
+ - unite
1237
+ - universe
1238
+ - university
1239
+ - unless
1240
+ - until
1241
+ - up
1242
+ - urge
1243
+ - urgent
1244
+ - use
1245
+ - usual
1246
+ - v
1247
+ - valley
1248
+ - value
1249
+ - vehicle
1250
+ - version
1251
+ - veto
1252
+ - victory
1253
+ - village
1254
+ - violin
1255
+ - virus
1256
+ - visit
1257
+ - voice
1258
+ - volcano
1259
+ - vote
1260
+ - voyage
1261
+ - w
1262
+ - wages
1263
+ - wait
1264
+ - walk
1265
+ - wall
1266
+ - want
1267
+ - war
1268
+ - warm
1269
+ - warn
1270
+ - wash
1271
+ - waste
1272
+ - watch
1273
+ - water
1274
+ - wave
1275
+ - way
1276
+ - wealth
1277
+ - weapon
1278
+ - wear
1279
+ - weather
1280
+ - weigh
1281
+ - welcome
1282
+ - well
1283
+ - west
1284
+ - wet
1285
+ - what
1286
+ - wheat
1287
+ - wheel
1288
+ - when
1289
+ - where
1290
+ - which
1291
+ - while
1292
+ - white
1293
+ - who
1294
+ - why
1295
+ - wide
1296
+ - wife
1297
+ - wild
1298
+ - will
1299
+ - willing
1300
+ - win
1301
+ - wind
1302
+ - window
1303
+ - wire
1304
+ - wise
1305
+ - wish
1306
+ - with
1307
+ - withdraw
1308
+ - without
1309
+ - wonder
1310
+ - wood
1311
+ - woods
1312
+ - word
1313
+ - work
1314
+ - world
1315
+ - worry
1316
+ - worse
1317
+ - wreck
1318
+ - write
1319
+ - wrong
1320
+ - x
1321
+ - y
1322
+ - year
1323
+ - yellow
1324
+ - "yes"
1325
+ - yesterday
1326
+ - yet
1327
+ - you
1328
+ - young
1329
+ - z
1330
+ - zebra