7章データ処理

 すべてのアプリケーションはデータを処理するため、ある形式のデータを別の形式へと変換する処理を実装することもよくあります。この章では機密情報管理やJSONシリアル化、XMLシリアル化といったデータ変換に関する項目を扱います。

 機密情報は例えばパスワードやAPIキーなどのデータで、第三者に公開したくないもののことです。この章には機密情報のハッシュ化、暗号化、機密ストレージへの保存という3つの節があります。

 今日では多くのデータがJSON形式で処理されています。基本的なシリアル化/逆シリアル化は現代的なフレームワークでは簡単に実装できる上、データの生産側と消費側の両方を同時に実装できる場合にはさらに簡単になります。第三者が作成したデータを使用する場合、データの整合性や基準を制御できません。したがって、本章のJSONの項目ではJSONデータを必要に応じてカスタマイズするための方法を説明しています。

 最後に、JSON形式がインターネット上では支配的になってきている昨今ですが、XML形式もまだ使用されている場所があるため、本章でも説明しています。LINQ to XMLというLINQの一種を使用して、XMLデータをシリアル化/逆シリアル化することができます。

レシピ7.1 パスワードからのハッシュ生成

課題

ユーザーのパスワードを安全に保存する必要がある。

解決策

 以下のコードでは機密情報を保護するためのソルトをランダムに生成しています※1

※1 訳注:GitHubのソースコード(Chapter07/Section-07-01/Program.cs)とは異なりますが、.Net 7からはRNGCryptoServiceProviderクラスが非推奨とされているので書き換えています。 ...

Get C#クックブック ―プロフェッショナル開発者のためのモダンレシピ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.