Шифрование и дешифрование данных в Entity FrameworkWorkC#

Место общения программистов C#
Ответить
Anonymous
 Шифрование и дешифрование данных в Entity FrameworkWork

Сообщение Anonymous »

Код: Выделить всё

public class ApplicationDbContext : BaseDbContext { private TenantDbContext _tenanatDbContext; private readonly byte[] _encryptionKey; private readonly byte[] _encryptionIV; private readonly IEncryptionProvider _provider;public ApplicationDbContext(ITenantInfo currentTenant, DbContextOptions options, ICurrentUser currentUser, ISerializerService serializer, IOptions dbSettings, IEventPublisher events, IServiceProvider serviceProvider, TenantDbContext tenanatDbContext)
: base(currentTenant, options, currentUser, serializer, dbSettings, events, serviceProvider)
{
_tenanatDbContext = tenanatDbContext;
var (key, iv) = EncryptionHelper.GenerateAesKeyAndIV();
_encryptionKey = key;
_encryptionIV = iv;
_provider = new AesProvider(_encryptionKey, _encryptionIV);
}    public DbSet UserEntity => Set();

protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.UseEncryption(_provider); base.OnModelCreating(modelBuilder); modelBuilder.HasDefaultSchema(SchemaNames.LeadratBlack);modelBuilder.Entity().ToView(ViewNames.VWUserInfo);
modelBuilder.Entity().ToView(ViewNames.VWFullUserInfo);

modelBuilder.Entity().ToTable(nameof(ApiLog), SchemaNames.ApiLogs);
}

public class UserEntity : AuditableEntity, IAggregateRoot {
[Encrypted]
public string Username { get; set; }

[Encrypted]
public string Password { get; set; }

public int Age { get; set; }
}
public class UserEncrptConfig : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.IsMultiTenant();
builder.Property(i => i.Username)
.IsRequired().IsEncrypted();
builder.Property(i => i.Password).IsRequired().IsEncrypted();
}

}

Код: Выделить всё

"messages": \[
"Padding is invalid and cannot be removed."
\],
"source": "Internal.Cryptography.UniversalCryptoDecryptor",
"exception": "Padding is invalid and cannot be removed.",
"errorId": "854bb460-6e31-42ce-b97b-70e57109adc3",
"supportMessage": "Provide the ErrorId 854bb460-6e31-42ce-b97b-70e57109adc3 to the support team for further analysis.",
"statusCode": 500,
"actionCode": 100
Здесь я сталкиваюсь с этим исключением. Заполнение недействительно и не может быть удалено после перезапуска приложения в тот момент, когда я столкнулся с этой проблемой.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»