You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:20:31