Lệnh Linux: Mã hóa giải mã ký tự hoặc tập tin

Đôi khi bạn sẽ có nhu cầu mã hóa/giải mã ký tự (string) hoặc tập tin (file) có trên hệ thống Linux bằng mật khẩu chỉ mình bạn biết. OpenSSL có sẳn trên hệ điều hành sẽ giúp bạn thực hiện điều này.

Nếu chưa có OpenSSL bạn có thể cài nó như sau:

yum -y install openssl # CentOS 5/6/7
sudo apt-get -y install openssl # Debian và Ubuntu

Mã hóa string (ký tự) bằng password:

Mã hóa một chũi “voduy.com” chứa vào file voduy.com.txt với mật khẩu 123456:

echo "voduy.com" | openssl enc -aes-128-cbc -a -salt -pass pass:123456 > voduy.com.txt

Xem thử tập tin voduy.com.txt bạn sẽ thấy nó chứa một đoạn mã hóa không thể dịch:

cat voduy.com.txt

U2FsdGVkX196tlIvjfiTg15td33kGDZy7nSK6M3Kblo=

Để giải mã nội dung file voduy.com.txt đó với mật khẩu 123456 bạn nhập lệnh sau:

cat voduy.com.txt | openssl enc -aes-128-cbc -a -d -salt -pass pass:123456

Thông tin gốc đã mã hóa sẽ được hiển thị.

Mã hóa file (tập tin) bằng password:

Ví dụ này bạn có 3 tập tin bao gồm: tập tin nguồn nguon.txt chứa thứ cần mã hóa, tập tin mã hóa mahoa.txt chứa các nội dung sau khi mã hóa nguồn và tập tin giải mã giaima.txt chứa những thứ giải mã được từ tập tin mã hóa.

Tạo file nguồn nguon.txt với nội dung “voduy.com“:

echo "voduy.com" > nguon.txt

Mã hóa file nguồn nguon.txt ra file mahoa.txt: (dùng mật khẩu 123456)

cat nguon.txt | openssl enc -aes-256-cbc -a -salt -pass pass:123456 > mahoa.txt ; cat mahoa.txt

Nội dung của mahoa.txt là một đoạn mã hóa:

U2FsdGVkX19rBsGKCqNxKDuhqq0ONQEuE0KeEb0YeqI=

Để giải mã nội dung của mahoa.txt đó vào tập tin giaima.txt bạn gõ: (dùng mật khẩu 123456)

cat mahoa.txt | openssl enc -aes-256-cbc -a -d -salt -pass pass:123456 > giaima.txt ; cat giaima.txt

Sẽ thấy lại được nội dung file nguồn của chúng ta.

Cám ơn bạn đã đọc hết bài viết, hãy bấm chia sẻ lên mạng xã hội để nhớ rằng bạn đã từng nắm được kiến thức do bài viết này cung cấp rồi:
Share

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *