Mã hóa dữ liệu trong Ruby On Rails

Tram Ho

Giới thiệu

Bảo mật dữ liệu là vấn đề rất quan trọng trong bất kỳ ứng dụng nào. Bởi vì chúng ta đang lưu trữ dữ liệu cá nhân của người dùng như: ngày sinh, số điện thoại di động, địa chỉ, thông tin về ngân hàng, v.v.

Vì vậy, chúng ta nên thực hiện chức năng bảo mật dữ liệu với bất kì thông tin gì của người dùng. Có nhiều gem có sẵn trong thư viện của Ruby On Rails. Nhưng mình sẽ triển khai gem attr_encrypted.

Bước 1: Thêm gem attr_encrypted

Trong thư mục GemFile thêm dòng

Bước 2: Cài đặt gem

Ở màn hình console chạy lệnh

Bước 3: Tạo 1 model

Bước 4: Thêm các dữ liệu bạn muốn mã hóa vào trong file migration

Trong file migration ví dụ chúng ta muốn mã hóa 2 thông tin đó là ngày sinh và số điện thoại. Chúng ta thêm vào tiền tố encryptedtrước tên cột.
Ví dụ:

trường iv nhằm mục đich giúp dữ liệu được bảo mật kĩ hơn

Bước 5: Setting Model UserDetails

Trong file UserDetail.rb chúng ta thêm:

Bước 6: Truy cập các thông tin mã hóa ngoài view hoặc trên rails console

Để truy cập các thông tin đã được mã hóa ở ngoài view hoặc trên rails console. Bạn chỉ cần gọi tên của trường đó (không cần thêm tiền tố encrypted).
Ví dụ:
Ở ngoài view:

Trong controllser, thêm permit params

Trong màn hình rails console:
1.Đầu tiên chúng ta tạo 1 bản ghi mới:

Trong ví dụ trên, bạn nhìn vào log có thể thấy 2 thông tin birth_date và mobile_no đã được mã hóa
2.Lấy thông tin của bản ghi vừa tạo:

Khi cần lấy thông tin gì, bạn chỉ cần gọi đến tên của trường đó (không cần tiền tố encryption)

Và bạn sẽ thấy được dữ liệu trả về ở dạng chưa được mã hóa.

Kết luận:

Với nhu cầu bảo mật thông tin cho dữ liệu thì gem attr_encrypted đã đáp ứng được nhu cầu cơ bản của chúng ta. Bài viết trên đây đã giới thiệu cho mọi người cách dùng cơ bản của gem attr_encrypted. Hy vọng bài viết có ích cho mọi người. Cám ơn mọi người đã đọc bài viết của mình.

Nguồn:

https://itnext.io/data-encryption-in-ruby-on-rails-4512fea27893

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo