diff --git a/app/models/user.rb b/app/models/user.rb index d84909c..b0204b9 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -24,6 +24,8 @@ class User < ActiveRecord::Base build_retirement(POPULATE_RETIREMENTS.shuffle.first) build_paid_time_off(POPULATE_PAID_TIME_OFF.shuffle.first).schedule.build(POPULATE_SCHEDULE.shuffle.first) build_work_info(POPULATE_WORK_INFO.shuffle.first) + # Uncomment below line to use encrypted SSN(s) + #work_info.build_key_management(:iv => SecureRandom.hex(32)) performance.build(POPULATE_PERFORMANCE.shuffle.first) end diff --git a/app/models/work_info.rb b/app/models/work_info.rb index f1fb5fd..c8e30d8 100644 --- a/app/models/work_info.rb +++ b/app/models/work_info.rb @@ -2,12 +2,12 @@ class WorkInfo < ActiveRecord::Base attr_accessible :DoB, :SSN, :bonuses, :income, :years_worked belongs_to :user has_one :key_management, :foreign_key => :user_id, :primary_key => :user_id, :dependent => :destroy - before_save :encrypt_ssn + #before_save :encrypt_ssn # We should probably use this def last_four - "***-**-" << self.SSN[-4,4] + "***-**-" << self.decrypt_ssn[-4,4] end def encrypt_ssn @@ -33,9 +33,8 @@ class WorkInfo < ActiveRecord::Base end def iv - "asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf" - #self.key_management.iv - #raise "No IV for this User" if !(key_management.iv) + raise "No IV for this User" if !(self.key_management.iv) + self.key_management.iv end def cipher_type diff --git a/app/views/work_info/index.html.erb b/app/views/work_info/index.html.erb index 1b429b5..96fb928 100644 --- a/app/views/work_info/index.html.erb +++ b/app/views/work_info/index.html.erb @@ -28,6 +28,9 @@