Repository navigation
OTR_CommonParts
nishi_74322014 edited this page Oct 27, 2026
·
1 revision
Open 棟梁の Public 名前空間(Touryo.Infrastructure.Public.<カテゴリ>)には、ユーティリティ的な共通部品が揃っている。
- ユーティリティ的な処理を自作する前に、既存の部品を探す。
- セキュリティに関わる処理(エンコード、ハッシュ、暗号)は特に自作しない。
- メソッドの正確なシグネチャは、ソース(API リファレンスはソースから Doxygen で生成)を確認する。
| クラス | 用途 | 代表的なメソッド |
|---|---|---|
StringChecker |
種別チェック |
IsNumeric / IsHankaku / IsZenkaku / IsKatakana / IsKanji / Match
|
FormatChecker |
書式チェック(日本向け) |
IsJpZipCode / IsJpTelephoneNumber / IsJpCellularPhoneNumber
|
StringConverter |
変換 |
ToZenkaku / ToHankaku / ToHiragana / ToKatakana
|
FormatConverter |
書式変換 | 丸め、西暦・和暦、桁区切り |
JIS2k4Checker |
JIS2004 の追加文字・サロゲートペア | チェック、削除 |
| メソッド | 用途 |
|---|---|
HtmlEncode / HtmlDecode
|
HTML エンコード(XSS 対策) |
UrlEncode / UrlDecode
|
URL エンコード |
ToBase64String / ToBase64UrlString など |
Base64、Base64URL |
ToHexString |
16 進 |
StringToByte / ByteToString
|
コードページを指定したバイトと文字列の変換 |
Public.Security は独立したアセンブリ(NuGet パッケージ Touryo.Infrastructure.Public.Security)。net48 / net10.0 の両対応。
| クラス | 用途 |
|---|---|
GetHash |
ハッシュ(アルゴリズム、ストレッチ回数を指定可) |
GetKeyedHash / MsgAuthCode
|
キー付きハッシュ、MAC |
GetPassword |
パスワード・乱数の生成(Base64UrlSecret など) |
GetPasswordHashV2 |
パスワード・ハッシュ(V1 は非推奨) |
SymmetricCryptography / ASymmetricCryptography
|
共通鍵暗号、公開鍵暗号 |
DigitalSign ほか |
電子署名(X.509、XML、ECDSA など) |
JwtJWS_* / JwtJWE_*
|
JWT(JWS 署名、JWE 暗号)。OIDC の id_token の検証などに使う |
- net10.0 では、
IdentityImpersonation(区間偽装のサンプル)と CNG ベースの ECDH 鍵交換はビルドされない。
| クラス | 用途 | ランタイム |
|---|---|---|
ResourceLoader / EmbeddedResourceLoader
|
ファイル・埋め込みリソースの読み込み(%変数% を展開する) |
両方 |
DeflateCompression |
Deflate 圧縮 | 両方 |
ExponentialBackoff |
指数バックオフ(リトライ) | 両方 |
Zipper / UnZipper
|
ZIP 圧縮・展開 | net48 のみ |
BinarySerialize |
バイナリ・シリアライズ | net48 のみ |
- net10.0 では、圧縮に
DeflateCompressionか標準ライブラリを使う。Win32/WinProc(Windows API のラッパー)も net48 専用。
-
DataToPoco/PocoToPoco:DataTableと POCO、POCO と POCO の詰め替え。
- スキル
opentouryo-common-parts(用途から部品を探す地図)を使わせる。 - エージェントは標準ライブラリや自作で済ませがちなので、「既存部品を探したか」をレビューで見る。特にセキュリティ系。
Tags: 再構築
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。