Memperkenalkan Enkrip
- Last modified atEnkrip adalah ruby gem untuk memudahkan enkripsi dan dekripsi atribut dari model Active Record.
Dibalik layar, sebenarnya hanya menggunakan callback dari Active Record dan ActiveSupport::MessageEncryptor untuk operasi enkripsi dan dekripsi.
Untuk demo bisa dilihat melalui repositori Enkrip Example dimana aplikasi tersebut menggunakan Ruby on Rails.
Tujuan
- Mudah melakukan enkripsi dan dekripsi baik atribut string atau angka
- Kompatibel dengan validasi Active Model
- Otomatis melakukan konversi format untuk
numeric_attributes
Batasan
- Seluruh atribut yang didefinisikan pada
numeric_attributes
akan dipaksa menggunakan format UTF-8 encoding - Enkrip hanya dapat berjalan pada Active Record 5.2 atau lebih baru
- Tidak kompatibel dengan activerecord-import
Instalasi
Tambahkan enkrip
pada Gemfile dan jalankan bundle install
.
Konfigurasi
Setelah instalasi, perlu isi enviroment variables ENKRIP_LENGTH
, ENKRIP_SALT
, dan ENKRIP_SECRET
.
Cara Penggunaan
Agar enkripsi dapat digunakan, maka perlu menggunakan tipe data text
.
Setelah migration selesai dijalankan, baru konfigurasi Enkrip
pada Model.
Untuk mengecek enkripsi dapat menggunakan raw query.
Jika ingin menggunakan enkripsi dan dekripsi tanpa model Active Record, dapat menggunakan Enkrip::Engine.encrypt
dan Enkrip::Engine.decrypt
.
License
Enkrip dirilis dengan Lisensi MIT.
Recent Posts
How to Defend Against Brute-Force and DoS Attacks with Fail2ban, Nginx limit_req, and iptables
In this tutorial, I’ll explain how to protect your public-facing Linux server and Nginx web server from common threats, including brute-force and DoS attacks.
Is Getting AWS Solutions Architect Associate Certification Worth It?
If you are a full-time Software Engineer, there's no strong need to pursue this certification.
DevSecOps
My Notes about DevSecOps
AWS Secrets Manager
Explanation about AWS Secrets Manager with example code.
Envelope Encryption
Envelope encryption is the practice of encrypting plaintext data with a data key, and then encrypting the data key under another key.