Blazor Server + EF Core:数据列加密功能无法正常工作求助
数据库敏感字段加密失效问题排查与优化建议
我尝试对客户的FirstName、LastName等敏感数据进行加密以提升用户数据安全性,但按照教程代码更新数据库后,新增客户的数据并未被加密。
已尝试的操作
- 将项目从.NET Core 3.1升级至.NET 5.0并同步更新相关包版本
- 替换原测试密钥"test123456"为128位密钥
- 使用EntityFrameworkCore.DataEncryption加密库
相关代码
DbContext代码
using EntityFrameworkCore.EncryptColumn; using EntityFrameworkCore.EncryptColumn.Extension; using EntityFrameworkCore.EncryptColumn.Interfaces; using EntityFrameworkCore.EncryptColumn.Util; using Globals.Entities; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using System; private readonly IEncryptionProvider _provider; public Model() { Initialize.EncryptionKey = "test123456"; this._provider = new GenerateEncryptionProvider(); } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.UseEncryption(this._provider); }
实体代码(Client类)
using EntityFrameworkCore.EncryptColumn.Attribute; namespace Globals.Entities { public class Client { [Key] [Required] public int Id { get; set; } [EncryptColumn] public string FirstName { get; set; } [EncryptColumn] public string LastName { get; set; } public Client(string firstName, string lastName) { FirstName = firstName; LastName = lastName; } } }
数据库重置命令
drop-database remove-migration add-migration initialCreate update-database
欢迎提供其他数据加密相关的优化建议!
内容的提问来源于stack exchange,提问作者IceFox_Programming
相关产品推荐
相关产品推荐

