加密和解密密码的最佳实践? (C#/.NET)

2024-03-05

我需要在(最好是文本)文件中存储和加密密码,稍后我需要能够解密该密码。该密码用于我使用的另一项服务,需要以明文形式(通过 SSL)发送到那里。这不是我能改变的。该领域的最佳实践是什么?如何才能在一定程度上保护密码免受恶意用户的侵害?

我的平台是带有 C#/.NET 3.5 的 WinForms。

Thanks.


我假设您想要加密密码,因为它将在用户计算机上,并且他们(可能)能够找到它并使用它?如果是这样,你基本上就完蛋了 - 无论你做什么,因为它在用户域中,他们将能够获取它并找出加密并获取加密的密码(请记住,使用 Reflector - 及其克隆 - 不是大多数人都接触不到)并解密它,他们就拥有了它。简而言之,您所做的只是混淆密码,而不是保护密码。

我建议实际上是将其移出用户的控制范围。例如,建立一个与客户端通信并在请求时安全地返回密码的 Web 服务。这还允许您在将来需要时更改密码,并为您提供验证合法用户的方法。

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

加密和解密密码的最佳实践? (C#/.NET) 的相关文章

随机推荐

  • Blackberry - 具有不同 ID 的可点击 BitmapField

    我正在创建一个应用程序 在其中我通过 JSON 从 Web 服务器获取带有 id 的礼品图像 当我点击任何礼物图像时 它会进入下一页 其中显示该图像的所有信息 通过 JSON 从 Web 服务器获取图像信息及其 ID 问题是 当我点击页面上
  • 轴。即使api返回404错误,如何在try catch finally中获得错误响应

    for e g async gt let apiRes null try apiRes await axios get https silex edgeprop my api v1 a catch err console error err
  • R 上的实时图表 - Shiny

    我正在尝试制作一个交互式图表 在一个闪亮的应用程序上绘制金融股票数据 我的尝试是不断更新数据 从而更新图表 我使用一个名为 Highcharter 的包来管理这个 下面显示了服务器部分的部分代码 getDataIntraday 接收两个输入
  • 向路由器或视图集添加更多视图 (Django-Rest-Framework)

    本质上 我试图找到一种在不创建自定义路由器的情况下将更多视图附加到路由器的好方法 有什么好的方法可以实现这个目标呢 这与我想要实现的目标相当 为了这个问题 变量名已经改变 我想介绍的示例方法也被极其简化 Router router rout
  • Python 3、网页抓取和 Javascript [天哪]

    我已经到了使用 Javascript 和 Python3 进入网页抓取混战的阶段 我很清楚我的靴子可能会碰到一匹死马 但我还是想拔出我的六发枪 这是一部意大利式西部片 是我的灰帽子吗 背景故事 我正在使用Python 3 2 3 我有兴趣收
  • 使用谷歌分析数据将嵌套行转置为bigquery中的列

    我感兴趣的是使用自定义维度属性来吸引访问者 其中每一行都是一个唯一的 fullvisitorid 列是所需的自定义维度值 以伦敦头盔为例 在这里我用我感兴趣的两个自定义尺寸来吸引访客 SELECT fullvisitorid customD
  • AWS lambda 与 python asyncio。事件循环闭合问题?

    关闭 aws lambda 中的事件循环会影响未来的 lambda 运行吗 我有一些 aysncio python 代码在 aws lambda 服务中运行 代码逻辑如下 def lambda handler event context l
  • 在 Javascript 中创建多维数组和矩阵

    尝试创建一个函数mCreate 给定一组数字返回一个多维数组 矩阵 mCreate 2 2 2 0 0 0 0 0 0 0 0 当此函数仅处理 2 个深度级别时 即 mCreate 2 2 0 0 0 0 我知道要做 2 个级别 你可以使用
  • 如何使用 Intl 获取 Flutter 中当前语言环境的文本方向

    我正在创建一个新的 flutter UI 组件 其中包含选择并获取有关产品的更多信息 我希望这个组件也支持 RTL 所以我需要获取当前的语言环境方向 这将使我知道选择形状的哪些角将被圆化 The LTR形状代码是这样的 shape Roun
  • Visual studio(MAC)控制台应用程序[重复]

    这个问题在这里已经有答案了 也许你们中的一些人知道 Visual Studio 预览版 已经可以使用了 我有一个简单的问题 也许我做错了什么 或者它不能正常工作 当我开始调试控制台应用程序时 不想让我从键盘读取名称 string name
  • 在 PhpStorm 中设置终端字体大小?

    如何在 JetBrains PhpStorm IDE 的嵌入式终端中设置字体大小 文字太小 这可能吗 LazyOne 已经指出了您可以在哪里更改此设置 https stackoverflow com a 31436405 247893 请记
  • C# Winforms:以编程方式显示按钮悬停状态

    我在 winform 上显示数字键盘来输入代码 我正在显示带有按钮的数字键盘 用户将仅使用键盘数字键盘来输入代码 密码 但当然你可以使用鼠标 如果我们使用鼠标单击按钮 我们会得到蓝色效果来显示悬停和按下状态 我在想我是否可以以某种方式以编程
  • NSDateComponentsFormatter 的 stringFromDate(_, toDate:) 返回 nil

    Question Why is string nil let formatter NSDateComponentsFormatter let referenceDate NSDate timeIntervalSinceReferenceDa
  • 复制文件列表 (txt)

    我见过一些脚本示例 但似乎没有一个提供如何从 t xt 列表中读取文件名的示例 这个例子不错 这样就可以将A文件夹中的所有文件复制到B文件夹中 xcopy c olddir java c newdir D E Q Y 但我需要类似下一个的东
  • Backbone.js 在回退中哈希后斜线 - 历史推送状态

    我在用着Backbone js 的路由 http documentcloud github com backbone Router 它为浏览器生成如下网址 http my app com help 对于 Internet Explorer
  • Kotlin-Kapt 注解处理器无法与 Maven 一起使用

    我想从 kotlin 实体类生成 jpa querydsl 文件 网上有一个非常好的示例 介绍如何使用 gradle 生成 dsl 文件https github com JetBrains kotlin examples blob mast
  • 使用枚举上的 XOR 运算符重载 GetHashCode 和相等运算符

    我有以下课程 它是统计分析包的一部分 The MetricKey对象用作字典键 Decision MetricUnit Portfolio都是枚举 我必须重写相等运算符 才能使字典键匹配工作 我使用了以下指导http msdn micros
  • “为‘System.Windows.Baml2006.TypeConverterMarkupExtension’提供值引发了异常。”行号“49”和行位置“38”

    我正在制作我的第一个 wpf 应用程序 它现在只是实现一个带有纹理的 地板 从上面看 运行时我得到这个异常 在 System Windows Baml2006 TypeConverterMarkupExtension 上提供值 引发异常 行
  • 如何在 GitHub 的文件查看器中软包装代码?

    当我在 GitHub com 上查看文本文件时 如何使其换行而不是水平滚动 在 GitHub 网站编辑器中 我可以从右上角的下拉菜单中选择 软换行 选项 但没有这样的下拉菜单 也没有我在页面上找到的任何选项 可以在查看时也换行代码 我尝试编
  • 加密和解密密码的最佳实践? (C#/.NET)

    我需要在 最好是文本 文件中存储和加密密码 稍后我需要能够解密该密码 该密码用于我使用的另一项服务 需要以明文形式 通过 SSL 发送到那里 这不是我能改变的 该领域的最佳实践是什么 如何才能在一定程度上保护密码免受恶意用户的侵害 我的平台