CATEGORY

.NET Core(C#)

C#でのUTF-8 BOMの処理仕様

UTF8/UTF-16/UTF-32等のUnicode系の符号化でBOMを使用することができますが、ここでは主にUTF-8を前提としたBOM処理について説明します。 ダイジェスト UTF-8ファイル(BOMあり/なし)に対して正常に処理できるクラス・メソッドの例を次に示します。 処理 処理対象のUTF-8ファイル BOMなし BOMあり ファイル読取り File.ReadAllText()Stre […]

C#: パスワードハッシュ生成サンプル(PBKDF2)

概要 鍵導出関数であるPBKDF2を使って、「パスワードからAES-256等で使用可能なキー(256ビット)」(パスワードハッシュとしても使用可)を生成するサンプルを紹介します。 完全なサンプルコードはgithubで公開しています。 次の実行環境を使用しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17. […]

C#: AES-256を使った暗号化・復号化サンプル

概要 次の実行環境を使用しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17.1.3) 言語 C#(10.0) + .NET6 次のリファレンスを参考にしています。 .NET 暗号化モデル | Microsoft Docs 暗号化と復号化のためのキーの生成 | Microsoft Docs データの暗号化 […]

C#: Azure KeyVaultシークレットの操作サンプル(一覧取得・作成・更新・削除・ 履歴取得)

C#でAzure KeyVaultのシークレットを操作するサンプルを紹介します。 概要 Azure KeyVaultで、シークレット、キー、証明書の管理が可能ですが、ここではシークレットの一覧取得・作成・更新・削除・履歴取得のサンプルを紹介します。 次の環境で動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community […]

C#: EventWaitHandle概要とAutoResetEvent, ManualResetEventの使い方

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2022(17.1.3) + C#(10.0) 参考 こちらのスレッド間の同期を参考にしています。 リファレンスだと「シグナル」という言葉がでてきますが、スレッドに「通知する」という意味の用語(プロセス・スレッド関連の用語)です。「 […]

Graph API実行環境の準備方法(クライアント資格情報フローのアプリ登録)

概要 WebアプリからGraphAPIを使用してAzure AD B2C上のユーザアカウントの操作を行うことを想定しています。このような構成でGraph APIを使用できるようにするためのAzure AD B2C側の設定方法を説明します。 Azure AD B2Cでは、Webアプリ、デスクトップアプリ、モバイルアプリ等のアプリケーションの種類に応じて認証方法(フロー)が用意されています。ここでは「 […]

.NET Core(C#): MoqのSetupProperty()/SetupGet()/SetupSet()の違い

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2019(16.8.5) + C#(8.0) パッケージ Microsoft.NET.Test.Sdk 16.10.0 xunit 2.4.1 xunit.runner.visualstudio 2.4.3 Moq 4.16.1 完 […]

.NET Core(C#): Moqのnew Mock<T>()とMock.Of<T>()の違い

はじめに 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Visual Studio Community 2019(16.8.5) + C#(8.0) パッケージ Microsoft.NET.Test.Sdk 16.10.0 xunit 2.4.1 xunit.runner.visualstudio 2.4.3 Moq 4.16.1 完 […]

HTML5文字実体参照をタブ区切りファイルに変換

概要 HTML5で定義されている文字実体参照を、タブ区切りファイル(TSV形式)に変換するサンプルコードを紹介します。 HTML5の文字実体参照はHTML Living Standardの13.5 Named character referencesで定義されています。このページからダウンロードできる文字実体参照の一覧(JSON形式)を変換元(入力ファイル)として使用します。(以後、「文字実体参照 […]

C#: キー・値の順番を保持してJSONをデシリアライズ

はじめに キー・値形式のJSONを解析する場合、JsonSerializer.Deserialize<Dictionary<T, V>>()を使って簡単に実現できますが、キー・値の順番は保証されません。 ここでは、このキー・値の順番を保証する方法を紹介します。 次の環境を使用して動作確認しています。 OS Windows 10(64ビット) IDE Microsoft Vi […]