PowerShell 的 ConvertFrom-SecureString -key 的安全性如何

2023-12-02

我有一个模块,其中包含一些带有一些私有数据的字符串,这些数据应该很难获得,但会经常更改。我需要将此脚本放在各种机器上,这些机器可能会访问它,并且代码可能会被不应该拥有用于导出输出的信息的人读取。

我真的很担心不时变化的字符串,因此我正在考虑创建一个脚本,提示将这些值作为安全字符串,并使用密钥对它们进行加密并将它们转储到 xml 文件中。然后,XML 文件用于提供字符串。任何从该模块运行命令且需要该数据的人都必须提供密钥,以便可以解密字符串。

这基本上是我期望做的,但我将处理对象

$secure = Read-Host -AsSecureString
$encrypted =  ConvertFrom-SecureString -securestring $secure -key somekey
$encrypted | Export-Clixml testing.xml
$imported = Import-Clixml testing.xml
$value = ConvertTo-SecureString -string $imported -key somekey

据我所知,该字符串将使用 Rijndael 加密算法进行加密,我相信该算法也称为 AES。

如果可以访问脚本,需要付出多少努力才能破解 xml 文件中的加密密钥?


然后加密秘密字符串在其自己的是安全的,但以这种形式可能无法使用。ConvertTo-SecureString会将其从加密的标准字符串转换为SecureString,但要做到这一点,你需要钥匙。如果您的用户或脚本拥有密钥,那么他们就可以做任何事情。

你甚至可以通过SecureString到您正在使用的任何应用程序,或者您是否需要将其转换回常规字符串?如果秘密数据在任何时候都是明文形式,那么您的用户就可以看到它。

即使您的应用程序支持SecureString,你仍然被冲洗,因为SecureString是很容易破解的:

[System.Runtime.InteropServices.Marshal]::PtrToStringAuto(
  [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securestring)
 )

使用某个密钥加密秘密数据但允许低权限用户拥有该密钥的方法已被破坏。这相当于“我不想让我的朋友拥有我家的钥匙,所以我会把钥匙锁在一个盒子里,然后把盒子的钥匙给他。”

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

PowerShell 的 ConvertFrom-SecureString -key 的安全性如何 的相关文章

  • 为什么浏览器允许onmousedown JS改变href?

    我很长时间以来都注意到 当您尝试复制链接位置或在 Facebook 上打开链接时 它会修改链接并将其传递给l php 例如 我可以被发送到 http www facebook com l php u http 3A 2F 2Fwww goo
  • 脚本块上的新闭包

    考虑这段代码 PS gt timer New Object Timers Timer PS gt timer Interval 1000 PS gt i 1 PS gt Register ObjectEvent timer Elapsed
  • 具有多个范围的 Powershell 整数参数验证

    我知道您可以声明一个仅接受特定范围内的值的整数参数 Parameter ValidateRange 1024 66535 Port 是否可以验证多个范围的参数输入 例如 假设我希望允许端口输入为 1 到 80 135 到 445 以及 10
  • 如何防止我的客户经常使用演示 Java 程序?

    我制作了一个演示小程序 想交付给我的客户 以便他可以运行它 5 次以检查其功能 它不是一个大软件 我为其实现了一些序列密钥功能并制作了试用软件 我想要一个简单的解决方案 可以限制程序的使用超过 5 次 或者可以在达到阈值限制后自行删除 我想
  • 修改 xml 同时保留空格

    我在尝试替换 XML 文件中的属性同时保留空格时遇到了几个问题 尝试1 xml xml get content data xml xml Path To Attribute value set content data xml String
  • Node.js:将 repl 挂接到远程节点服务器

    假设我有一个节点服务器在 mysite com 上运行 有没有办法设置该服务器以便我可以使用节点的repl api http nodejs org docs latest api repl html to securely从我的本地计算机连
  • SQLite 数据库安全

    我正在构建一个使用 Sqlite DB 的应用程序 用户可以将他们的信息输入数据库并检索它们 但是 我希望他们能够备份 sqlite 数据库 我所做的是将 sqlite 数据库放入文档文件夹中 以便他们可以使用 iTunes 将其检索出来
  • 合并 2 个 .jks 信任库文件

    我正在使用启用了 SSL 的 Tomcat 并使用信任库进行客户端身份验证 我有两个 jks trustore 文件 第一个 我将其用于 PROD 环境 另一个用于 TEST 环境客户端证书 我在 Tomcat 上部署了 Web 应用程序
  • 有什么方法可以安全地在浏览器中显示视频

    有什么方法可以安全地在浏览器中显示视频 就像他的安全措施之一 视频无法下载 谢谢 我想您的意思是您不希望您的视频被下载或复制 如果是这样 那么阻止人们下载视频或多或少是不可能的 甚至有很多工具可以从 YouTube 等大型提供商那里下载 因
  • 如何并行执行PowerShell函数多次?

    我不确定是否需要将其称为多线程 基于作业或异步的需求 但基本上我有一个 Powershell 脚本函数 它需要多个参数 并且我需要使用不同的参数多次调用它并让它们运行在平行下 目前 我这样调用该函数 Execute param1 param
  • Powershell,如何添加共享文件夹的权限

    我有以下创建共享文件夹的代码 if Test Path c myFolder New Item Path c myFolder ItemType Directory If GET WMIOBJECT Win32 Share Filter N
  • 使用 PEM 证书验证 Powershell 中的 XML 签名

    我正在尝试创建一个 powershell 脚本来使用 XML 文档中的数据 然而 在进行任何工作之前 我需要通过验证签名来验证 XML 没有被篡改 我有一份用于以 PEM 格式签署 XML 的证书的公钥副本 但我不知道如何让 powersh
  • 为什么 iframe 请求不发送 cookie?

    兄弟部门创建了一个 HTML 文件 该文件实际上是少数 iframe 的支架 每个 iframe 都会调用一个托管在 Web 服务器上的报告 其参数略有不同 调用的报告将向未经身份验证的用户显示登录表单 或向已经过身份验证的用户显示报告内容
  • 在 ASP.NET MVC 中自定义授权

    我的 Controller 类用 AuthorizeAttribute 装饰以保护操作 Authorize Roles User Level 2 public class BuyController Controller 每当调用操作 但用
  • Powershell从Linux客户端连接到Windows远程

    我正在尝试从我的 Linux 工作站远程连接到 Windows 计算机 我在 Arch Linux 工作站上安装了 powershell 目前正在尝试连接到主机 在主机上 Enable PSRemoting 然后允许所有主机Set Item
  • 如何保护 RESTful Web 服务的安全?

    我必须实施安全RESTful Web 服务 https www ibm com developerworks webservices library ws restful 我已经使用谷歌做了一些研究 但我陷入困境 Options TLS H
  • 解密Javascript源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经编写了一段 JavaScrip
  • Docker 在 Powershell 中登录 gcr.io

    我正在尝试使用 Windows 10 登录 Google 容器注册表JSON 密钥文件 https cloud google com container registry docs advanced authentication using
  • 更改每个命令的 powershell 标题

    我想在窗口标题中显示我在 powershell 中输入的最后一个命令 以便更容易找到 目前我有 C gt host ui rawui WindowTitle 但这只是获取相对于我输入时的上一个命令 所以如果我有 C gt cd C gt h
  • 在java中设置Process对象的安全性

    有人可以告诉我如何限制通过进程对象访问系统属性吗 如果我通过进程对象运行以下代码 我可以抛出安全异常吗 System getProperty user home 请告诉我如何为流程对象配置证券 在ProcessBuilder类文档中 环境方

随机推荐

  • 可变长度霍夫曼码的比特流 - 如何写入文件?

    我正在用 C 语言开发霍夫曼编码 解码项目 并且很好地了解算法应如何存储有关霍夫曼树的信息 在解码期间重新构建树 以及使用可变长度代码解压缩到原始输入文件 当写入我的压缩文件时 我将输出一个包含唯一频率的 256 个 4 字节整数的表 并且
  • Linux下跨进程共享数据

    在我的应用程序中 我有一个进程分叉一个子进程 例如 child1 并且该子进程在磁盘上写入一个巨大的二进制文件并退出 然后 父进程派生出另一个子进程 child2 该子进程读取这个巨大的文件以进行进一步的处理 文件转储和重新加载使我的应用程
  • ObservableCollection 和 Item PropertyChanged

    我看过很多关于这个问题的讨论 但也许我只是一个新手 无法理解它 如果我有一个可观察的集合 它是 PersonNames 的集合 如 msdn 示例中所示 http msdn microsoft com en us library ms748
  • C 中的波形符运算符

    我见过 ELF 哈希算法中使用的波形符运算符 我很好奇它的作用 代码是来自永远的迷茫 unsigned elf hash void key int len unsigned char p key unsigned h 0 g int i f
  • Python 中对象的布尔值

    众所周知 Python 对对象有布尔值 如果一个类有一个 len 方法 它的每个实例 len 碰巧返回 0 将被评估为布尔值False 例如 空列表 事实上 每个可迭代的空自定义对象都被评估为False如果它出现在布尔表达式中 现在假设我有
  • 基于鼠标的Unity3d瞄准

    我正在制作炮弹射击游戏 这是一个简短的代码 我在其中计算瞄准方向 Vector3 mousePos Input mousePosition mousePos z thisTransform position z camTransform p
  • 为什么在调用 jnz 之前要将一个值与其自身进行“或”操作?

    我正在阅读一些执行以下操作的代码 OR al al JNZ loc 123456 如果我没读错的话 OR命令只是设置一个标志位 然后测试该寄存器是否有任何非零值 为什么要这样写而不是这样写 CMP al 0 JNE loc 123456 哪
  • 在 WooCommerce 中显示产品类别的随机产品缩略图

    我正在尝试提取随机产品缩略图以在我的页面之一上显示为图像 我似乎找不到有效的方法 并尝试了以下解决方案this and this post 在 div 中回显它也是有益的 这是我目前正在尝试的 但我仍然不确定如何做到这一点 函数 php f
  • 使用 C# 从 xml 文件获取值

    我对 xml 很陌生 我不知道如何从下面的 xml 文件中读取 获取值
  • 无法从 Android 设备在 Facebook 页面中看到类似选项

    I am trying to open a facebook page from my app in both android and ios In ios the page shows LIKE button but in android
  • 使用参数化 SqlCommand 是否可以使我的程序免受 SQL 注入的影响?

    我知道SQL注入是相当危险的 现在 在我的 C 代码中 我使用以下命令编写参数化查询SqlCommand class SqlCommand command command CommandText SELECT FROM Jobs WHERE
  • Android 列表视图的 Bubble Chat 问题

    嗨 我遇到了一个奇怪的麻烦 我没有得到气泡 例如你的消息在右边 我的消息在左边 当我调用notifydatachanges时 它会删除所有的气泡 请指导我 下面是代码 private final Handler mHandler new H
  • 如何使用 ASP.Net MVC 路由来路由图像?

    我将网站升级为使用传统 ASP Net Web 表单中的 ASP Net MVC 我使用 MVC 路由将对旧 aspx 页面的请求重定向到新的控制器 操作等效项 routes MapRoute OldPage oldpage aspx ne
  • SwiftUI:访问 macOS 上的特定场景 ViewModel

    在这个简单的示例应用程序中 我有以下要求 有多个窗口 每个窗口都有自己的ViewModel 切换Toggle在一个窗口中应该not更新另一个窗口的 我还希望能够通过菜单切换 就目前而言 前两点是not鉴于 最后一点是有效的 我已经知道当我移
  • django heroku 媒体文件 404 错误

    我最近在 Heroku 上部署了一个 Django 应用程序 并上传了一些媒体文件 一切似乎都工作正常 直到昨天 当我尝试再次访问该应用程序时 发现它给出了 404 错误 有什么想法为什么会发生这种情况吗 设置 py import os B
  • ASP.Net 2012 使用 jQuery 进行非侵入式验证

    我正在使用 Visual Studio 2012 我创建了一个空 ASP Net Web 应用程序 当我尝试添加传统验证器控件到新页面 出现这个错误 WebForms UnobtrusiveValidationMode 需要 jquery
  • oracle sql在计数时不是按表达式分组[重复]

    这个问题在这里已经有答案了 我正在尝试运行以下查询来计算过去 6 个月内转诊患者的医生数量 SELECT count local doc providerno NumberofReferals LOCAL DOC FULLNAME FULL
  • Javascript 世界时区与 GMT 的时差计算器

    我希望有人能告诉我定期更新时区数据库的方向 我找到了一个 但抱歉我不记得它来自哪里 但是随着当前 GMT 时钟变化的快速临近 我担心我的所有数据都会不正确 即从英国到纽约的时差将从落后 5 小时变为 6 小时落后几个小时 任何有关此事的帮助
  • 包含相当于 SQL Server 中的 Like

    当我运行此查询时 Select from Table1 Where Column1 Like aaa 3 Result Select from Table1 Where Column1 Like a 3 Result Select from
  • PowerShell 的 ConvertFrom-SecureString -key 的安全性如何

    我有一个模块 其中包含一些带有一些私有数据的字符串 这些数据应该很难获得 但会经常更改 我需要将此脚本放在各种机器上 这些机器可能会访问它 并且代码可能会被不应该拥有用于导出输出的信息的人读取 我真的很担心不时变化的字符串 因此我正在考虑创