我有一个模块,其中包含一些带有一些私有数据的字符串,这些数据应该很难获得,但经常更改。我需要将此脚本放在可以访问它的各种机器上,并且代码由不应该拥有用于派生输出的信息的人读取。
我真的很担心不时更改的字符串,因此我正在考虑创建一个脚本,该脚本提示输入这些值作为安全字符串,并使用密钥对其进行加密并将它们转储到 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 文件中的加密密钥?