我有代码可以检索使用亚马逊的 aws kms 加密功能加密的字符串。我想调用 aws kms 解密来取回未加密的值,但我想在不将字符串写入二进制文件的情况下执行此操作。我发现的所有示例都假设您将使用 linux 的 base64 命令或 Window 的 certutil 命令将 base64 编码的加密值转换为二进制文件。我正在尝试在 Windows 系统上执行此操作。在我看来你应该能够运行:
aws kms encrypt --key-id <mykey> --plaintext "mysecret"
Run Code Online (Sandbox Code Playgroud)
这对我来说产生了这个结果:
{
"KeyId": "arn:aws:kms:us-east-1:192491131326:key/<mykey>",
"CiphertextBlob": "AQICAHjQ7sViXQdeS4wWbFZpkOQWvCdNXqiy4Cnz0/xEBe39SQGz0vofeAo0+SyOXv172fqkAAAAZjBkBgkqhkiG9w0BBwagVzBVAgEAMFAGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMhchHh0ugGzwRTC4gAgEQgCMlkhYlCYk2SfYIkfQ6ruwA71KBcN7ih/OPzSE86OT/eBOz3Q=="
}
Run Code Online (Sandbox Code Playgroud)
然后我应该能够运行:
aws kms decrypt --ciphertext-blob AQICAHjQ7sViXQdeS4wWbFZpkOQWvCdNXqiy4Cnz0/xEBe39SQGz0vofeAo0+SyOXv172fqkAAAAZjBkBgkqhkiG9w0BBwagVzBVAgEAMFAGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMhchHh0ugGzwRTC4gAgEQgCMlkhYlCYk2SfYIkfQ6ruwA71KBcN7ih/OPzSE86OT/eBOz3Q==
Run Code Online (Sandbox Code Playgroud)
取回结果。但到目前为止,我一直无法得到任何东西,除了:
An error occurred (InvalidCiphertextException) when calling the Decrypt operation:
Run Code Online (Sandbox Code Playgroud)
是否有一些参数可以传递给解密命令,以便它解密这个字符串?
我有一张包含现有数据的表格.对于此表的第一列中的每个唯一值,我们有一个列应按顺序排列,但此表已失序.我想运行一个SQL语句,将第二列重新排列.我能用这个SQL看到我想要的结果:
select FORMULA_ID, ATTRIB_CODE, ATTRIB_VAL, ATTRIB_ORDER,
rank() over (partition by formula_id order by attrib_code, attrib_val) AS WANT_THIS
from ATTRIB
Run Code Online (Sandbox Code Playgroud)
产量:
FORMULA_ID ATTRIB_CODE ATTRIB_VAL ATTRIB_ORDER WANT_THIS
----------- -------------------- ---------------- ------------ ---------
2791 C_BRAND ROMAN HOLIDAY 3 1
2791 C_ENDUSE DINNER 4 2
2791 C_ENDUSE SNACK 6 3
2791 C_ENDUSER 10-17 7 4
2791 C_PRODTYPE SALAD 13 5
2791 C_RELIG ANY 14 6
2821 C_ALLERGEN PEANUT 1 1
2821 C_ALLERGEN SOY 2 2
2821 C_BRAND ROMAN HOLIDAY 1 3
2821 C_ENDUSE DINNER …Run Code Online (Sandbox Code Playgroud) 我正在使用ASP.NET应用程序,我们希望增加在某些请求期间调用客户脚本的功能。由于我们不信任此脚本,因此我们将在具有有限权限的IIS请求中生成一个子AppDomain,并加载客户程序集和脚本运行程序程序集。如果满足某些条件,客户脚本可以执行诸如更改业务对象的描述或将状态代码更改为错误之类的操作。由于更改是如此多样,因此我无法将它们包含在从方法调用返回的单个对象中。在脚本运行时,我需要它来更改启动此子级的Request内的对象的值。
这篇文章推荐使用NetNamedPipeBinding,但是我越来越担心它不适用于IIS中运行的代码,在IIS中可能同时运行多个请求。我将为每个IIS请求设置一个新主机吗?为整个过程设置一个静态主机,然后使用端点来确保正确的子进程与正确的请求对话?这是正确的技术吗?
如果这不是正确的技术,那是什么?这篇文章告诉您如何检索父AppDomain的句柄,但是其中许多似乎都使用mscoree.dll,通常我的印象是COM和IIS混合得不好。 这篇文章讨论有关清除初始AppDomain并创建一个新AppDomain的问题。也许在IIS中这不是必需的?
子AppDomain是否可以有效地在产生它的Request对象内部执行方法,如果是,那是什么?