私はDataProtectorに関する.netにはかなり新しく、質問がありました。.NetのDataProtection暗号化の長さを短縮しますか?
設定なしでDataProtector.Protectを使用すると、結果として得られる暗号化がAPIに渡すには時間がかかりすぎるため、設定方法(here)を使用すると役立つのではないかと疑問に思っていましたか?私は、データを保護するために必要なクラスで、次を試してみました:
var serviceCollection = new ServiceCollection();
serviceCollection.AddDataProtection()
.UseCustomCryptographicAlgorithms(new ManagedAuthenticatedEncryptionSettings()
{
// a type that subclasses SymmetricAlgorithm
EncryptionAlgorithmType = typeof(Aes),
// specified in bits
EncryptionAlgorithmKeySize = 128,
// a type that subclasses KeyedHashAlgorithm
ValidationAlgorithmType = typeof(HMACSHA256)
});
var services = serviceCollection.BuildServiceProvider();
_protector = services.GetDataProtector("MyClass.v1");
var protect = _protector.Protect(JsonConvert.SerializeObject(myData));
はしかしさえ最小128にデフォルトの256からEncryptionAlgorithmKeySizeを変更した後、「保護」も同じ長さの暗号化が得られました。構成が機能していないとか、構成が暗号化の長さに影響しないと思うようになります。
これが正しい方法で行われているか、暗号化の長さを減らすためのより良い方法があるかどうかは誰にも分かりますか?
たとえば、単純な9文字の文字列は134文字に暗号化されます。
ご協力いただきありがとうございます!
これは本当に悪い考えです。なぜ暗号化されたデータをマシンから転送したいのですが、そのAPIを限られた長さに送信するのはなぜですか? – CodeCaster
@CodeCasterデータには偽造防止トークンが含まれていますが、APIでは500文字しか送受信できないため、暗号化の長さを制限する設定方法があるかどうかは不思議です。 –