got the code kicked off so we can encrypt SSN(s) in the database
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
<td><%= @user.work_info.bonuses %></td>
|
||||
<td><%= @user.work_info.years_worked %></td>
|
||||
<td class="ssn"><%= @user.work_info.SSN %></td>
|
||||
<!-- Begin Secure Version>-->
|
||||
<!--<td class="ssn"><%#= @user.work_info.last_four %></td>-->
|
||||
<!-- End Secure Version -->
|
||||
<td><%= @user.work_info.DoB %></td>
|
||||
</tr>
|
||||
|
||||
|
||||
+12
-23
@@ -184,21 +184,6 @@ paid_time_off = [
|
||||
}
|
||||
]
|
||||
|
||||
key_mgmt = [
|
||||
{
|
||||
:user_id => 2,
|
||||
},
|
||||
{
|
||||
:user_id => 3,
|
||||
},
|
||||
{
|
||||
:user_id => 4,
|
||||
},
|
||||
{
|
||||
:user_id => 5,
|
||||
}
|
||||
]
|
||||
|
||||
performance = [
|
||||
{
|
||||
:user_id => 2,
|
||||
@@ -304,12 +289,6 @@ schedule.each do |event|
|
||||
sched.save
|
||||
end
|
||||
|
||||
key_mgmt.each do |key|
|
||||
KeyManagement.create(:user_id => key[:user_id], :iv => Digest::SHA2.new.to_s)
|
||||
end
|
||||
|
||||
|
||||
|
||||
performance.each do |perf|
|
||||
p = Performance.new(perf.reject {|k| k == :user_id})
|
||||
p.user_id = perf[:user_id]
|
||||
@@ -322,10 +301,20 @@ messages.each do |message|
|
||||
m.save
|
||||
end
|
||||
|
||||
|
||||
work_info.each do |wi|
|
||||
info = WorkInfo.new(wi.reject {|k| k == :user_id})
|
||||
info = WorkInfo.new(wi.reject {|k| k == :user_id } )
|
||||
info.user_id = wi[:user_id]
|
||||
info.save
|
||||
end
|
||||
|
||||
|
||||
=begin
|
||||
work_info.each do |wi|
|
||||
list = [:user_id, :SSN]
|
||||
info = WorkInfo.new(wi.reject {|k| list.include?(k)})
|
||||
info.user_id = wi[:user_id]
|
||||
info.build_key_management({:user_id => wi[:user_id], :iv => SecureRandom.hex(32) })
|
||||
info.SSN = wi[:SSN]
|
||||
info.save
|
||||
end
|
||||
=end
|
||||
|
||||
Reference in New Issue
Block a user