.NET Core环境变量和用户秘钥实现开发中的数据安全

如何安装.NET Core & VS2019秘钥 安装.NET Core,ASP.NET Core 首先要构建.NET Core / ASP.NET Core应用程序的开发环境。 .NET Core可以通过两种方式安装:通过安装Visual Studio 2017/2019或通过安装.NET Core Runtime或SDK。 .NET Core安装程序已经包含ASP.NET Core库,因此没有单独的ASP.NET Core安装程序。 第一种、安装Visual Studio 当前,.NET Core 2.1和.NET Core 3.1具备长期. 阅读详情


前言:有很多人将秘钥,数据库连接字符串写到项目配置文件中,并提交到源代码控制或者共享源代码控制,并在那里使用,这使得项目出现了很大的风险。

首先新建一个 ASP.NET Core 的 MVC 项目,就可以直接进行测试。

一、注入 IConfiguration

首先将注入 IConfiguration 并命名为 Configuration。

在配置文件中并未设置 Key 为 computername 的属性,

但是可以根据 @Configuration["computername"] 来获取当前的PC的名称。

因为每台 Windows 电脑都会创建一个名为 computername 的环境变量。

将 Index.cshtml 修改为入下图所示。
在这里插入图片描述

在运行网站后得到的结果如下所示:
在这里插入图片描述

二、从配置文件 appsettings.json 中获取环境变量

在配置文件中加入图下红框中的代码。
在这里插入图片描述

将 Index.cshtml 修改为入下图所示。
在这里插入图片描述

在运行网站后得到的结果如下所示:
在这里插入图片描述

三、从项目中获取环境变量

在解决方案目录中选中当前 ASP.NET Core Web 项目

按下 Alt + Enter 打开项目属性面板
或者 右键点击项目 =》 选择 属性

随后选择调试(Debug)会有看到当前项目的环境变量了
在这里插入图片描述

随后在环境变量里面添加 先前在 appsetting.json 中添加的值
在这里插入图片描述

并且更改掉 appsetting.json 中的 Wechat 的值
在这里插入图片描述

在运行网站后得到的结果如下所示:
在这里插入图片描述

随后我们得出结论: appsettings.json 优先级小于 项目的环境变量

四、用户秘钥设置环境变量

我们首先删除掉 项目环境变量中的之前添加的Wechat,环境变量编程如下所示。
在这里插入图片描述

随后右键选中项目选择 管理用户机密(Manage User Secrets)。

在这里插入图片描述

这时打开一个 secrets.json 的新文件,移动鼠标可以看到它的路径。
在这里插入图片描述

当前文件不是一个加密的文件,并且它不是一个在源代码控制的文件。

随后在文件 secrets.js 加入代码如下所示, appsettings.json 文件的Wechat 应如下所示,
项目的环境变量的 Wechat 的值已经被删掉。
在这里插入图片描述

在运行网站后得到的结果如下所示:
在这里插入图片描述

随后我们得出结论: secrets.json 优先级大于 appsettings.json

由于 secrets.json 并不会提交到源代码控制中,保证了用于开发目的的数据更加安全。

C# Web 开发:ASP.NET Core 从入门到实战 ASP.NET Core 是一个。 阅读详情

相关推荐

基于.net framework4的RSA密钥生成和加密解密,包括私钥加密

好像传错了,是个有bug的,不知怎么修改/删除上传文件,悲剧了。后来又传了个新的,叫做“包括私钥加密的RSA密钥生成和加密解密”基于.net Framework 4编,能够生成公钥私钥,直观看到(e,n)和(d,n),能够进行文本及文件加密解密(相关函数输入输出均为byte[],非常好用),最大特点是能够使用私钥加密(.net中处于防止不当私钥加密泄露私钥的问题,好像只提供签名,即在散列值基础上的私钥加密,没有直接私钥加密),为了学生练习玩玩,就自己编写了个。

ASP.NET Core 优雅的在开发环境保存机密(User Secrets)

前言 在应用程序开发的过程中,有的时候需要在代码中保存一些机密的信息,比如加密密钥,字符串,或者是用户名密码等。通常的做法是保存到一个配置文件中,在以前我们会把他保存到web.config中,但是在ASP.NET Core中,这一方式或许发生了改变,或者说你有更多多元化的方法, 以及更加优雅的的配置来设置或者保存这些机密资料。 起初我以为这个UserSecrets它并没有什么用,因为我有需要配置的...

weixin_34352449的博客 297

【各种轮子2】基于Icepak的PCB散热仿真比较

随着电子产品的集成度越来越高,PCB板的尺寸越来越小,板级芯片散热的问题越来越成为电子工程师的一个重要挑战。对于板级芯片散热,主要依靠工程师对PCB自身的设计进行优化,同时要兼顾系统的尺寸和成本。本文分别从芯片角度和PCB角度进行建模,芯片模型选用QFN封装,PCB模型采用走线导入模型,探讨了芯片结构,PCB铜厚,PCB叠层厚度对芯片散热的影响。

3669

net core 管理用户机密

1024。

Kaizen的博客 404

【LVGL】从HTML到LVGL:嵌入式UI的设计迁移与落地实践

嵌入式UI迁移实践:从HTML到LVGL 本文介绍了将HTML/CSS设计的UI原型迁移到嵌入式系统(LVGL)的完整流程,重点涉及"HTML→Figma→LVGL"的三步转换方法。具体内容包括: 设计迁移流程:通过Figma作为中间桥梁,将HTML原型转化为标准设计资产,再适配到LVGL库; 工具与参数准备:详细列出了设计迁移所需的工具链和需要提取的核心设计参数; Figma还原步骤:分组件讲解如何在Figma中1:1还原HTML设计,包括标题栏、压力显示区、图表区等核心组件; LVG

ymlmail的博客 1971

[逆向实战] 淘宝x5sec滑条验证码slidedata参数逆向与自动化过码方案

本文详细解析了淘宝x5sec滑条验证码的核心参数slidedata的生成机制与逆向过程,提供了Python自动化过码方案。通过分析滑动轨迹加密流程、还原AES加密算法,并设计人类行为模拟轨迹,帮助开发者有效绕过淘宝滑块验证,适用于爬虫开发与自动化测试场景。

weixin_30851867的博客 735

.net安全之加密

所谓加密就是将数据进行不规则化以保证源数据机密性的机制或进行签名以保证数据完整性。特别是如今电子商务的火热和人们对隐私的注重,加密对于变通的程序员来说,也是必须考虑的问题了。如何不规则化数据呢,我们自己可能就会提出很多种方案,也就是一种加密算法,至于安全性可能就跟本身的设计有关了;而现如今就有很多公开的算法如DES、RSA、MD5等等,虽然算法是公开的,但是他们根据密钥来加密,想要解密它们就需要解...

weixin_30932215的博客 233

第五章 TTM 后备管理:5.6系统内存域

系统内存域由 TTM 内置资源管理器管理,通过 ttm_tt 承载页信息,依赖 ttm_pool 提供物理页。ttm_tt 管理页数组、缓存属性与状态标志,支持外部页与换出机制。初始化分 ttm_tt_init 与 ttm_sg_tt_init,生命周期包括创建、填充、释放与销毁。页池针对 write-combined、uncached 及一致性 DMA 分配的页进行缓存,提升性能并减少 TLB 刷新。分配时高阶优先、批量设置缓存属性,回收时清零后归还池中,确保高效复用。

图形/计算GPU的驱动与虚拟化技术分享园地 2566

在.NET中使用User Secrets(用户机密)

.NET中的User Secret(有时也叫机密管理)功能到现在已经很久了(好像从.NET Core 2.0开始)。鼓励开发者把邮件、Slack、Teams的密码或全部保密文件发出去。我也不明白开发者在本地能有什么秘密不能和团队共享的。因此,一个集中式的的机密储存应用更受欢迎,比如Azure Keyvault。但是在过去的几个月中,我看到了它们的价值。现实中,我用User Secret主要为了“它...

dotNET跨平台 1549

从原理到实战:深入解析 Synopsys VCS 仿真快照技术,提升验证效率

VCS Checkpoint 技术摘要 VCS Checkpoint 是 Synopsys VCS 提供的仿真状态快照功能,可将完整的仿真状态(寄存器、存储器、时钟、随机种子等)序列化保存。主要应用场景包括:跳过耗时初始化阶段、覆盖率驱动验证、Debug复现和UVM分阶段验证。核心原理是对仿真内核状态的完整序列化,需注意文件句柄等特殊对象需手动处理。 使用方式: 编译时添加 -checkpoint 选项 运行时通过 $save 系统任务或 +checkpoint 参数保存状态 通过 +restore 参数恢

元直的博客 248

利用Dify构建文档内容的分析对比

本次主要做了一些workflow和Agent的应用实现,供大家参考。主要目的是为了进行两个内部报告文件的内容对比,特别是报告中的各类审批表、申请表、推荐表和流程对比,本地数据通过知识库方式分别加载到两个知识库中,编制工作流针对同一个问题进行知识库检索,之后将查询结果进行合并,再一起提交给LLM进行对比,最终将对比分析结果以markdown方式返回显示。主要包括如何构建知识库,如何设计workflow、如何将工作流发布为工具、如何设计提示词、如何在agent中引入前面发布的工具,最终通过agent实现与用户交

hhue2007的专栏 2525

.NET Core应用配置:从基础到进阶

本文介绍了.NET Core应用配置的基础知识,包括如何使用appsettings.json文件、环境特定的配置、敏感信息管理以及一些进阶配置技巧。通过合理使用这些配置管理方法,可以使你的.NET Core应用更加灵活和安全。

hy_4377的博客 750

Python 爬虫实战:攻克小红书种草笔记,抓取美妆好物推荐数据

通过本次 Python 爬虫实战,我们成功地从小红书爬取了美妆种草笔记的数据,并进行了存储、处理、分析和可视化展示。在这个过程中,我们不仅掌握了爬虫技术的基本应用,还学会了如何对动态加载的数据进行处理和分析。然而,本次爬虫任务也存在一些局限性,例如仅爬取了部分笔记的数据,且未对笔记中的图片和视频内容进行分析。在未来的工作中,我们可以进一步优化爬虫程序,爬取更多笔记的数据,并深入分析笔记中的多媒体内容、用户行为模式等,为美妆品牌和消费者提供更有价值的数据支持。

u014481728的博客 3272

什么是Asp.net Core?和 .net core有什么区别?

什么是Asp.Net core 我相信很多C# Developer已经对于.net core不算陌生了,就算没有正式使用相信也应该有所了解。微软在推出来.net core的同时为了方便一些原有的项目可以方便迁移,同时推出了Asp.net core。那么.net core和Asp.net core是不是同一个东西呢?如果不是又有什么区别呢? 下面我们分别说明一下,首先Asp.net core和.net core肯定不是同一个东西(废话,如果是同一个东西还写这么多干啥!)。 Asp.net core其实就是仍然

极客神殿 3万+

项目管理 Agent:进度追踪与风险预警 Harness

我们先从LangChain的Agent定义说起:Agent是一个能感知环境、自主决策、调用工具、执行动作、迭代反思的智能实体。而「项目管理全自主Agent」,就是把Agent的核心能力和项目管理的五大过程组(启动、规划、执行、监控、收尾)深度结合,聚焦执行监控阶段的两个核心痛点:进度偏差自动化计算、风险信号自动化识别与预警的专门化Agent。全感知(Omnisensing):能从。

AI架构师小马 515

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

.NET Core 和 .NET Framework 的不同

一、各自优势 .NET Core的优势: 如果您正在构建一个新应用程序并在 .NET Core 和 .NET Framework 之间进行选择,那么 .NET Core 是您的最佳选择。 微软刚刚发布了 .NET Core v 3.0,它是 .NET Core 的一个大大改进的版本。如果您想为未来学习和构建,那么 .NET Core 就是您的最佳选择。 .NET 3.0 现在支持 WPF 和 Windows 窗体。.NET Core 3.0 还支持 UWP、WPF 和 Windows 窗..

weixin_50498482的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

基于 .NET Core 的 Web API 开发中常用鉴权技术概念和原理详解及举例

在 .NET Core 中,鉴权的核心是通过和授权中间件(Authorization Middleware)实现的。ASP.NET Core Identity 提供了处理用户身份认证和授权的功能,而授权中间件则允许你对用户访问特定资源的权限进行控制。用户发起请求,携带身份验证信息(如用户名、密码、JWT Token 等)。中间件验证用户的身份是否合法。如果认证通过,根据用户角色或声明进行鉴权。如果鉴权通过,继续执行请求的处理逻辑,否则返回未授权的响应。

百锦再的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

基于ASP.Net Core和Layui实现简单用户登录

基于ASP.Net Core和Layui实现简单用户登录

gc_2299的博客 3469

macOS上.NET Core:开发环境搭建

在macOS系统上搭建.NET Core(.NET Core是跨平台的.NET框架)开发环境并不复杂,按照以下步骤操作,即使是普通用户也能顺利完成。读完本文后,你将能够在macOS上安装.NET Core SDK、验证安装是否成功,并了解不同版本的安装方法。 ## 了解.NET Core分发版本 在开始安装前,需要了解.NET Core的几种主要分发版本,以便根据自己的需求选择合适的安装包: ...

gitblog_00746的博客 864

.NET Core 环境变量详解

一、概述 软件从开发到正式上线,在这个过程中我们会分为多个阶段,通常会有开发、测试、以及上线等。每个阶段对应的环境参数配置我们会使用不同的参数。比如数据库的连接字符串,开发环境一般我们都是连接的测试库。以前这种情况通常是 COPY 两个同名的配置文件来进行处理,然后在本地就使用本地的配置,生产环境就使用生产环境的配置文件,十分麻烦。而 ASP .NET CORE 利用环境变量来动态配置 JSON 文件对类似这种需求提供了支持,方便我们更好的去做这些事情。 二、ASP.NET Core环境 ASP.NET C

.NET快速开发框架 1627

基于.NET Core 3.1 网站开发和部署

vscode、dotnet cli、mariadb、dbeaver、nginx、EF Core、MVC、三层

me0607040211的博客 1万+

ASP .NET Core 中的环境变量

有相当多的主机变量【https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?请注意,我们Guitar不是直接以环境变量的形式访问,而是通过使用IConfiguration访问器抽象来访问。在本文中,我们将通过组织一场小型音乐会(当然是在代码中)来了解 ASP .NET Core 中的环境变量。__请注意,使用双下划线是因为:对于某些 shell(包括 bash)来说,它不是有效的标识符。

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 1299

配置管理.NET Core:环境变量

你还在为.NET Core应用在不同环境切换时的配置混乱而头疼吗?开发环境用本地数据库,测试环境要连测试服务器,生产环境又得切换到云服务——每次部署都要手动修改配置文件?本文将带你掌握环境变量这一轻量级解决方案,5分钟实现跨环境配置无缝切换,让应用部署像换灯泡一样简单。 读完本文你将学会: - 3种设置环境变量的实用方法 - 环境变量与配置文件的优先级规则 - 生产环境安全配置的5个最佳实践 -...

gitblog_00086的博客 1169

.NET Core程序中,如何获取和设置操作系统环境变量的值

有时候我们在.NET Core程序中需要获取和设置操作系统环境变量的值。本文演示如何使用Environment.GetEnvironmentVariable和Environment.SetEnvironmentVariable方法,来获取和设置操作系统环境变量的值。 首先我们使用Windows命令行cmd,在Windows系统中创建一个环境变量myEnvironmentValue...

davy57345的博客 2769
上一篇: Windows10 中的字母映射表
下一篇: 在 ASP.NET Core 中使用 AutoMapper 使 Entity 和 Resource 之间进行映射
Upgrader
博客等级 码龄8年 23粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值