12月 2015年

WPF で 共通リソースファイル(画像ファイル) を 作成/利用する 方法

WPF で 共通するリソース(特に画像) を 別DLL へ切り出して共有利用する方法についてまとめました。 画像ファイルはパス設定をうまくやらないとエラーとなって動かないので、ポイントについて触れながら作成手順を記載します。 サンプルとして名前付きの BitmapImage を作成します。 目次 リソースDLL の 作成 リソースDLL の 利用 おまけ サンプルコード GitHub / samplecode_ResidentApplication ダウンロード リソースDLL の 作成 ここではまず 共通で利用したい リソースDLL の作成を行います。 プロジェクトの作成は 「WPF カスタム コントロール ライブラリ」 を利用します。 空のプロジェクトからもできると思いますが…参照設定が面倒なので前述の「WPF カス ...

WPF で ボタン に 画像 を 使用する 方法

WPF で Button 要素に画像を利用するにはどうしたら良いかについて調べたのでまとめました。 いろいろなサンプルコードを参照しながら検証したのですが…マウスオーバーやマウスプレスを利用する場合に Style と Trigger を利用した xaml の記載が必要になります。 単純に画像だけでよければ Image を利用するだけで事足ります。 画像を使うので リソース でもいくつか問題が発生しましたが… WPF の リソース に関しては 別記事 にします。。 目次 基本の画像ボタン 画像と文字列を含むボタン マウスオーバーで画像変更するボタン サンプルコード GitHub / samplecode_ResidentApplication ダウンロード 基本の画像ボタン ボタン背景として文字列ではなく画像を利用するような入力 ...

C# で AES暗号 (共通鍵暗号) を 利用 する 方法

AES暗号 を 利用して暗号化および復号を行うとき、具体的にどのようなコードを実装すればよいかをまとめてみました。 暗号技術の詳細には触れず、実装する場合にどうしたら良いか、という観点でまとめました。 目次 概要 鍵生成 暗号化 復号 [おまけ] サンプルコード 概要 "AES暗号" は 共通鍵暗号 の一種です。 学術的な詳細は分かりませんが… "DES暗号" よりは安全な暗号方法です。 AES暗号の仕様として以下のルールが決まっているので、利用する際は設定を間違えないように気を付けます。 ブロック長 128bit 鍵長 128/192/256bit 実際に実装で利用する共通鍵は「IV (Initialize Vector/初期化ベ ...

C# で RSA暗号 (公開鍵暗号) を 利用 する 方法

ここでは 公開鍵暗号 で利用される RSA暗号 を C# で実際に利用するサンプルを掲載します。 あくまで暗号の利用に注目しての記事とするので、通信等のやり取りに関しては割愛します。 目次 鍵生成 暗号化 復号 鍵生成 RSA暗号では最初に公開鍵と秘密鍵のペアを作成します。 作成した公開鍵を利用して暗号化されたデータは秘密鍵によってのみ復号できます。 C# の RSACryptoServiceProvider を利用する場合、以下のようなパラメータが出力されます。 公開鍵 Modulus (法) Exponent (指数) 秘密鍵 Modulus (法) Exponent (指数) P Q DP DQ InverseQ D ※ 秘密鍵は公開鍵(Modulus、Exponent)を含んだものにな ...

暗号化 と ハッシュ化 の 違い

暗号 と ハッシュ を混同して話しをする人がいて大変気になるので調査結果含めてまとめてみたいと思います。 まぁ、結局のところ暗号化とハッシュ化の違いは複合できるか復号できないかの違いなんですが…。 暗号化:決まった規則に従ってデータを可逆変換する ハッシュ化:決まった規則に従って一定長のデータに不可逆変換する 目次 暗号化 とは ハッシュ化 とは 暗号化 とは 特徴 暗号化とは、データを決まった規則に従って組み換えること。 暗号化されたデータは復号できることが特徴になります。 用途 通信途中で第三者に盗み見られたり改竄されたくないデータ通信に用いられます。 実装例 共通鍵、公開鍵がWEBでよく見かける実装例になると思います。 具体的には以下のようなアルゴリズムが該当します。 公開鍵暗号 RSA暗号 ECDH暗号 ...