読者です 読者をやめる 読者になる 読者になる

それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

openssl で簡単にファイルを暗号化(パスワードの扱い

openssl コマンドでファイルを容易く暗号化出来る

ファイルを暗号化するには、とてもシンプルにopenssl を使うのが楽ですよね

openssl enc を使う

openssl はサブコマンド方式なので、次のようになっており

openssl サブコマンド オプション

ファイルをAESで暗号化するには enc を使う。

openssl enc  オプション

ファイルの暗号化

openssl enc -e  -aes-256-cbc -salt -pass pass:PLAIN_TEXT -in test.json 

ファイルの復号化

openssl enc -d  -aes-256-cbc -salt -pass pass:PLAIN_TEXT -in test.json 

オプションの解説

引数 意味
enc 対象鍵(パスフレーズ)で暗号化・復号化
-e 暗号化処理を指定
-d 復号化処理を指定
-salt slatを使うことでバイナリからの憶測を困難に
-pass パスフレーズをどこから取るか (指定なしはプロンプト )

パスフレーズの与え方

  • pass:password プレインテキストで直書く
  • env:var 環境変数から
  • file:pathname ファイルから
  • fd:number ファイルディスクリプタから
  • stdin 標準入力から
パスフレーズの与え方の例

よく使いそうなのは次の3つでしょうね。

プレインテキストで

openssl enc -e  -aes-256-cbc -salt -pass pass:秘密秘密

環境変数から

export my_pass=秘密秘密
openssl enc -e  -aes-256-cbc -salt -pass env:my_pass

ファイルから

echo  秘密秘密 > my_pass_file
openssl enc -e  -aes-256-cbc -salt -pass file:my_pass_file

詳しくは、openssl のPASSWORD ARGUMENTSの章を参考にすること

参考資料

  • man enc
  • man openssl

みんな大好き!man ページ

download-pdf

download-pdf

広告を非表示にする