Đô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.