.NET Framework

[C# 6] SHA256 や MD5 の 16 進ハッシュ文字列を得る

C# で SHA256 や MD5 のハッシュ文字列を得る方法はいろいろなところで紹介されていますが、今どきのソースコードが少ないので、あらためて紹介します。 ただし、 MD5 や SHA1 については、脆弱性や安全性の問題から使用は推奨されていませんので、用途を考慮してご使用ください。 暗号技術検討会1及び関連委員会(以下、「CRYPTREC」という。)に・・・続きを読む

.NET アプリで環境変数 .env ファイルを扱う (DotNetEnv)

NuGet で DotNetEnv のインストール

.NET アプリの設定ファイルといえば App.config (Settings.settings) が手軽で便利ですが、他のプロジェクトから参照できなかったりして不便な部分もあります。 ということで読み込みだけできればよい環境変数的な設定に関しては Web 系でのおなじみの .env ファイルを利用することにしようと思い、 DotNetEnv を使ってみま・・・続きを読む

SSH.NET で SSH サーバーのフィンガープリントを確認してから接続を完了する

SSH サーバーに接続する際、正しいサーバーか確認するために「フィンガープリント」(指紋)を利用します。 フィンガープリントは SSH サーバーからバイト列として返され、人間にはわかりにくいので、よくある SSH クライアントでは 9a:ab:2e:19:e0:4e:68:79:fa:44:b5:4b:63:48:af:1f のようなカンマ区切りの 16 進・・・続きを読む

C# Entity Framework 6 の DbContext で変更されたレコードと変更前後の値を取得する

Entity Framework 6 (以下、 EF6) では自動で変更を追跡してくれるため、 SaveChanges() を呼び出すとなんらかの変更があったレコードだけがデータベース側で変更されます。 簡単なアプリケーションではすべてフレームワーク任せでもいいのですが、少し実用的なアプリケーションを作ろうとすると、ユーザーに確認を求めたり、ログを残したりす・・・続きを読む