在源代码中存储敏感信息的最佳实践

2024-01-20

我很好奇是否有任何关于在源代码中存储一些敏感信息的建议。为了从一开始就明确自己,我not谈论用户密码、信用卡号等;我说的是 API 访问密钥、客户端机密和其他此类数据,这些数据与应用程序的用户不直接相关,而是与应用程序向各种组件或第三方服务进行自身身份验证相关(也可以考虑一下中的数据库连接字符串) web.config 文件)。

我正在寻找的是一种方法来隐藏(如果可能的话)此敏感信息(通常是字符串)的明文出现,最好是在源文件中(避免以某种方式对它们进行硬编码)和输出二进制文件中。对于二进制文件,我知道有混淆的“解决方案”;然而,对于来源,我想不出一个简单的来源。理想情况下,解决方案应尽可能对源代码控制友好,允许授权开发人员简单地检查代码并构建它,而无需额外的步骤。

如果您对此有任何建议,我非常乐意倾听。


您可以加密您的密钥并存储在 xml 中。

应用程序可以解密并使用它。

Refer:

.NET 中的加密/解密字符串 https://stackoverflow.com/questions/202011/encrypt-decrypt-string-in-net

另外,您可以使用Encoding https://stackoverflow.com/questions/7185834/encode-and-decode-in-c-sharp-asp-net这至少比纯文本要好。

Refer:

编码和解码 https://stackoverflow.com/questions/7185834/encode-and-decode-in-c-sharp-asp-net

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在源代码中存储敏感信息的最佳实践 的相关文章

  • Equals 和 GetHashCode 方法不一致

    读完这个问题后为什么 int 和 sbyte GetHashCode 函数生成不同的值 https stackoverflow com questions 12501979 why do int and sbyte gethashcode
  • 从 BitmapImage 获取支持的图像格式

    如何获取 System Windows Media Imaging BitmapImage 支持的图像格式列表 我正在用 C WPF 编写一个简单的图像处理工具 BitmapImage 类是更有用的位图类之一 因为它能够从多种格式进行解码
  • 有没有办法使用 .NET 中的 Kafka Ksql Push 查询

    我目前正在 NET 中使用 Kafka 消费者处理大量 Kafka 消息 我的处理过程的第一步是解析 JSON 并根据 JSON 中特定字段的值丢弃许多消息 我不想首先处理 特别是不下载 那些不需要的消息 看起来 kSql 查询 写为推送查
  • 使用AOP技术拦截ADO.Net

    我有相当大的代码库 使用各种不同的 ADO 技术 即一些 EF 在某些情况下直接使用 ADO Net 我想知道是否有任何方法可以全局拦截任何 ADO Net 调用 以便我可以开始审核信息 例如执行的确切 SQL 语句 花费的时间 返回的结果
  • 登录代码示例已通过 SQL 注入被黑客攻击,尽管 mysql_real_escape_string...

    我使用 CodeIgniter 但在黑客攻击方面遇到了麻烦 是否可以对以下登录代码进行 SQL 注入 function process login username mysql real escape string this gt inpu
  • 如何将 webmethod 与 telerik 批量编辑网格一起使用

    Work on Asp net vs2012 C telerik RadGrid batch edit I put save button outside from the grid Under the save button want t
  • 添加到 .NET 任务栏中的右键单击应用程序菜单

    大多数应用程序只有 恢复 移动 调整大小 最小化 最大化和关闭 但是MS SQL提供了额外的选项 帮助 自定义视图 按照这些思路 是否可以添加到任务栏中应用程序的右键单击菜单 注 我是not指通知区域中时钟旁边的图标 这是一个更简单的ans
  • 使用 TCP 套接字在本地代理视频

    我一直对向媒体浏览器添加对视频播客的支持非常感兴趣 我希望用户能够浏览可用的视频播客并从互联网上流式传输它们 这真的很容易 因为媒体播放器等将愉快地播放存在于云中的文件 问题是我想在本地缓存这些文件 因此同一集的后续观看将不涉及流式传输 而
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • 更改实体的可访问性

    我想建立一个内部实体 我已将实体 其标量属性和导航属性更改为内部 当我尝试构建它时出现此错误 错误 6036 EntityType 文件 具有 内部 可访问性 EntitySet 文件 具有具有 公共 可访问性的 get 属性 Entity
  • 保护 ASP.NET MVC 应用程序中的 ajax 调用的安全

    我有一个基于 ASP NET MVC 的应用程序 它允许根据用户进行不同级别的访问 当前的工作方式是 当用户访问页面时 会根据数据库进行检查以确定用户拥有的权限 然后根据用户拥有的访问级别选择视图 有些用户比其他用户看到更多数据并拥有更多可
  • 从 .NET 文本中提取关键字

    我需要计算每个关键字在字符串中重复出现的次数 并按最高次数排序 NET 代码中用于此目的的最快算法是什么 编辑 下面的代码将唯一标记与计数分组 string target src Split new char var results tar
  • 如何更改 Settings.settings 值的值

    我有一个简单的控制台应用程序 每天运行 由 Windows 任务计划程序调用 并且取决于每次应用程序运行时递增的值 为了保留这个值 我选择使用 Settings Settings 文件 因此 我有一个名为 RunNumber 和 Scope
  • 160 位 SHA1 哈希值的前 32 位是否可以替代 CRC32 哈希值?

    我正在开发一个 NET 3 5 项目 我需要一个 32 位哈希值 NET 加密类中似乎没有任何方法返回 32 位哈希 MD5 是 128 位 SHA1 是 160 位等 我实现了一个 CRC32 类 但我发现现有的 SHA1 和 MD5 哈
  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • 在不可变类型的构造函数中生成HashCode

    我对不可变类型的 HashCode 有一些疑问 我可以在构造函数中 预 生成不可变类型的 HashCode 还是有任何理由不这样做 当调用 GetHashCode 方法时 我是否应该再次生成哈希码 这是一个示例类 public class
  • 为什么对参数哈希进行切片会在批量分配时带来安全问题?

    通过批量分配来预防安全风险的官方方法是使用属性可访问 http api rubyonrails org classes ActiveModel MassAssignmentSecurity ClassMethods html 然而 一些程序
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 如何在.NET Core上直接调用F#编译器?

    UPD 我想直接从 NET Core SDK 调用 F 编译器 即 fsc 我了解 dotnet build co 但当我只需要编译一个简单的问题时 即 fsc file fs 就足够的情况下 我不想涉及它们 我尝试在 NET Core S
  • 如何禁止 celery 中的 pickle 序列化

    Celery 默认使用 pickle 作为任务的序列化方法 如中所述FAQ http ask github com celery faq html isn t using pickle a security concern 这代表一个安全漏

随机推荐

  • 如何关闭 Intellij IDEA 中的自动括号生成?

    当输入函数名称 或自动完成 时 IDEA 会自动在其后面添加括号并将光标放在它们之间 富 我非常不喜欢这个 并且更希望它让我自己输入括号 有什么办法可以做到这一点吗 Update 回复 插入配对支架 设置 所以 这个选项对我来说已经关闭了
  • Graphics CopyFromScreen 方法如何复制位图?

    private void startBot Click object sender EventArgs e Bitmap bmpScreenshot Screenshot this BackgroundImage bmpScreenshot
  • AVSpeechSynthesizer isSpeaking 在 Swift 中不起作用

    因此 更新到 Xcode 12 0 1 后 AVSpeechSynthesizer 现在可以在模拟器上运行 它已经有一段时间没有为我工作了 现在 无论合成器是否正在说话 isSpeaking 变量始终为 false 我想根据合成器是否在说话
  • 如果位置不是美国,则使用 Amazon Mechanical Turk?

    亚马逊土耳其机器人 https www mturk com mturk welcome是一个大规模微外包 API 您可以在其中以相对便宜的价格 例如每张图像 0 10 U 完成大量简单的小任务 例如 此图像中是否有商店 亚马逊似乎认为这项服
  • 使用数据增强层在 Tensorflow 2.7.0 上保存模型

    尝试使用 Tensorflow 版本 2 7 0 保存具有数据增强层的模型时出现错误 这是数据增强的代码 input shape rgb img height img width 3 data augmentation rgb tf ker
  • 带 Spring JMS 和不带 Spring JMS 的 AUTO_ACKNOWLEDGMENT 模式之间的区别

    我试图了解 JMS 中的确认模式如何工作 我正在阅读这个来源 它让我非常困惑 因为它与 Spring 的文档所说的相矛盾 消息人士说一件事 从http www javaworld com article 2074123 java web d
  • firebase部署错误,错误:无法列出(项目名称)的功能

    我在 Firebase 中托管我的 Web 应用程序 并使用 Gitlab CI CD 部署它 并且它一直工作得很好 但今天由于某种原因我在管道工作时收到此错误 56Error Failed to list functions for pr
  • 为什么将 /textbackslash{} 插入到 knitr Rmd 图形中的 .tex 中?

    我有一个结果部分 其中包括代码块和文本 当我将 Rmd 编 织成 pdf 时 我的两个人物周围都有 LaTeX 代码 字幕未正确呈现 查看我的 Results tex 文件 我可以看到我有几个 textbackslash 插入图中的LaTe
  • 如何从父元素获取文本并从子元素中排除文本 (C# Selenium)

    在 Selenium 中是否可以仅从父元素而不是其子元素获取文本 例子 假设我有以下代码 div class div www google com id google gt Google Link span class helpText T
  • Java 中是否为未使用的字段分配内存?

    我想知道Java中的内存分配是如何工作的 我有一个class Duck有两个实例变量int size and String name 这些变量被初始化 如果我没有实例化此类 这些变量的内存是否会在运行时在堆上分配 谢谢 基因 几种可能的情况
  • 亚像素滚动问题,无法在 Chrome 69 上正确设置scrollTop

    我正在尝试设置scrollTop以编程方式获取某些 DOM 元素的属性 并且我有奇怪的行为 破坏了我在某些特定环境中的测试 我创建了最小的重现 the link https jsfiddle net dhilt mo4zveka 25 HT
  • 为什么 readonly 和 volatile 修饰符是互斥的?

    我有一个引用类型变量readonly 因为引用永远不会改变 只会改变它的属性 当我尝试添加volatile编译警告我它不会让两个修饰符应用于同一个变量 但我认为我需要它是易失性的 因为我不想在读取其属性时出现缓存问题 我错过了什么吗 还是编
  • PHP 中的多线程

    我现在正在尝试创建一个多线程 PHP 应用程序 我读过很多解释如何创建多线程的论文 所有这些示例都是基于在不同的辅助 PHP 文件上划分进程而构建的 实际上这也是我想做的 但有一个问题 工作太多甚至无法划分 30秒内 这是执行时间限制 我们
  • 装配控制台暂停

    像 C 和 C 一样 我们使用 system pause 如何在 MS Visual Studio 2010 汇编语言中暂停控制台 586 model flat stdcall stack 4096 data number DWORD 10
  • Tinymce - 更改锚标记内的代码 - 什么是配置设置

    我有以下一段 HTML a href class list feature link img class left src images list sell off svg div class list feature text h4 Se
  • JS中为什么对象要用括号括起来?

    给出以下示例 var foo root key1 Value1 key2 Value2 key3 Value3 与以下相比有什么区别 var foo root key1 Value1 key2 Value2 key3 Value3 在第一个
  • 如何以反应形式获取无线电的选定值

    我试图获取单选按钮的 selectedValue 并将其作为 true 与单选文本一起传递 如果选择选项 1 则 selectedValue 将发送为 true 否则发送为 false 如果选择选项 2 则 selectedValue 将发
  • Vowpal Wabbit 的 Java API?

    我正在尝试使用沃帕尔瓦比特 https github com JohnLangford vowpal wabbit 通过Java 我已经从 GitHub 下载并成功编译了代码 命令行工具运行良好 快速查看存储库后 尤其是here https
  • 如何解决Maven中的循环依赖?

    我们如何解决 Maven 循环依赖 假设A是父项目 B和C是子项目 如果 B 依赖于 C 并且 C 依赖于 B 除了使用不同的项目之外 是否有其他方法可以解决循环依赖关系 Maven不允许项目之间存在循环依赖 因为否则不清楚先构建哪个项目
  • 在源代码中存储敏感信息的最佳实践

    我很好奇是否有任何关于在源代码中存储一些敏感信息的建议 为了从一开始就明确自己 我not谈论用户密码 信用卡号等 我说的是 API 访问密钥 客户端机密和其他此类数据 这些数据与应用程序的用户不直接相关 而是与应用程序向各种组件或第三方服务