概要

  • ファイルから平文を読み込んでSHA1を計算する。

ソース

sha1.pl

すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-
|
|
!
 
 
 
 
# SHA1 の計算
 
use strict;
use warnings;
use utf8;
use Encode;
use Digest::SHA1 qw( sha1_hex );
 
my $charsetConsole    = 'CP932';
my $charsetFile        = 'utf-8';
 
binmode( STDIN,  ":encoding($charsetConsole)" );
binmode( STDOUT, ":encoding($charsetConsole)" );
binmode( STDERR, ":encoding($charsetConsole)" );
 
my $srcFile = "./Password_Org.txt";
my $dstFile = "./Password_Enc.txt";
 
open( my $fhin, "<:utf8", encode( $charsetConsole, $srcFile ) ) 
    or die( "$srcFile: $!\n" );
<$fhin>;    # ヘッダ行を捨てる
my @Body = <$fhin>;
close( $fhin );
chomp( @Body );
 
open( my $fhout, ">:utf8", encode( $charsetConsole, $dstFile ) ) 
    or die( "$dstFile: $!\n" );
print $fhout "ID\tPlain\tEncrypted\n";
 
foreach my $row ( @Body ){
    my @fields = split( /\t/, $row );
    printf $fhout ( "%s\t%s\n", $row, sha1_hex( encode( 'utf8', $fields[1] ) ) );
}
 
close( $fhout );
 
# EOF

計算サンプル

入力 Password_Org.txt

ID	Plain
1	0000
2	1111
3	2222
4	3333
5	あいう

出力 Password_Enc.txt

ID	Plain	Encrypted
1	0000	39dfa55283318d31afe5a3ff4a0e3253e2045e43
2	1111	011c945f30ce2cbafc452f39840f025693339c42
3	2222	fea7f657f56a2a448da7d4b535ee5e279caf3d9a
4	3333	f56d6351aa71cff0debea014d13525e42036187a
5	あいう	eb636ba7c320e00b3749ad404b7adc7609560dee

SHA256 ハッシュの計算

perl

perl -MDigest::SHA -e 'my $sha = Digest::SHA->new(256); $sha->addfile("filename"); print $sha->b64digest . "\n";'

OpenSSL

openssl sha256 -binary "filename" | openssl base64

添付ファイル: filesha1.zip 487件 [詳細]

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Sun, 10 May 2015 11:03:52 JST (1083d)