DEV Community

Fega Suseno
Fega Suseno

Posted on

Encrypt/Decrypt File Using Openssl

Postingan ini akan membahas bagaimana cara mengenkripsi atau dekripsi file menggunakan tools openssl. Sebenarnya kalo kita bahas tentang tools ini akan sangat banyak dan panjang pembahasanya tentunya.
Kita tidak akan membahas tentang openssl secara detail, saya hanya akan membahas bagaimana meggunakan tools ini untuk mengencrypt file.

Saya punya sebuah file test.txt didalamnya kita asumsikan ada catatan yang bisa di baca oleh manusia tentunya.
Dengan openssl ini kita akan enkripsi filenya, enkripsi ini tidak akan mengubah nilai checksum.
Misalkan file test.txt memiliki nilai checksum f66e0fd50f220407a94153eeaf8c0a41648be03fe01a780f3ed0c50a92638868 dengan hash sha256.
Untuk cek nilainya kita bisa menggunakan perintah berikut

sha256sum test.txt
Enter fullscreen mode Exit fullscreen mode

Lalu kita coba lakukan enkripsi, gunakan perintah berikut

openssl aes-256-cbc -a -salt -pbkdf2 -in ap.sh -out ap.sh.enc 
Enter fullscreen mode Exit fullscreen mode

Nanti akan di minta password untuk enkripsi file tersebut. Jika kita butuh untuk melakukan otomasi maka bisa memasukan password dengan bentuk file file:pathlocation atau enverironment variabel env:somevar. Pada kasus ini saya menggunakan type file, password saya masukan kedalama file pass.txt saya taruh misal di /home/user/. Maka bisa menggunakan perintah seperti berikut

openssl aes-256-cbc -a -salt -pbkdf2 -in ap.sh -out ap.sh.enc -pass file:/home/user/pass.txt
Enter fullscreen mode Exit fullscreen mode

Jika berhasil harusnya isi filenya tidak bisa dibaca, lalu jika dilakuan checksum nilainya akan berubah. Ini karena isi dari filenya telah diubah dalam bentuk enkripsi yg tentunya mempengaruhi perubahan nilai sum nya.

Selanjutnya kita akan coba untuk mendekrip file test.txt ini kembali seperti semula. Gunakan perintah berikut

openssl aes-256-cbc -d -a -pbkdf2 -in test.txt.enc -out demo.txt
Enter fullscreen mode Exit fullscreen mode

Nanti akan diminta password, masukan password sesuai isi file pass.txt. Jika berhasil isi filenya akan dapat terbaca dan seharusnya nilai cheksum akan sama seperti sebelum di enkrip. dalam contoh ini berarti nilainy akan kembali seperti ini f66e0fd50f220407a94153eeaf8c0a41648be03fe01a780f3ed0c50a92638868.

Ok teman-teman selamat mencoba,
semoga bermanfaat.

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more