工事中・・・・・
(20)データ等の変換コマンド
1.ファイルの比較(ハッシュ値を比較して、ファイルが同一か、異なるかを確認する)
実例として、ウィルスに感染した異なるファイル名の同一ファイルの存在を確認したり、ファイルが改ざんされていないことを示すために、ファイルとそのハッシュ値を合わせて開示する場合が多い。その検証時、ハッシュ値の計算が必要となる。
certutil -hashfile ファイル名 アルゴリズム名
アルゴリズム名=MD2,MD4,MD5,SHA1,SHA256,SHA384,SHA512
2.文字列をBASE64で変換する。
変換 certutil -encode 入力ファイル名 出力ファイル名
戻す certutil -decode 入力ファイル名 出力ファイル名
(例)user:12345をbase64でエンコードする。
echo user:12345 > source.txt && certutil -encode source.txt destination.txt && type destination.txt
(結果)
-----BEGIN CERTIFICATE-----
dXNlcjoxMjM0NSAgDQo=
-----END CERTIFICATE-----3EldEll6VTtMQHeK
(例)dXNlcjoxMjM0NSAgDQo= をデコードする。
echo dXNlcjoxMjM0NSAgDQo= >from.txt && certutil -decode from.txt to.txt && type to.txt
(結果)user:12345
※Linux等 UnixのBase64コマンドを使うと、エンコード後の値がdXNlcjoxMjM0NQo= 又は dXNlcjoxMjM0NQ== になったりするが、デコードするとuser:12345になるので、平文では特に問題はないと思われる。
※Windowsではファイルの上書きができず同じファイル名を使ったコマンドを2回打つとエラー(上書きできない)になります。繰り返し試すときはすでにあるファイルを削除してください。Linuxの場合ははファイルを作る必要ないので楽です。