【问题标题】:What format is this 128 bit AES key specified with in this example?此示例中指定的 128 位 AES 密钥是什么格式?
【发布时间】:2019-10-22 11:17:54
【问题描述】:

我引用的是this gist 在线可用。

它使用硬编码的 128 位 AES 密钥来加密/解密数据。密钥以这种格式硬编码:

wchar_t default_key[] = L"3igcZhRdWq96m3GUmTAiv9";

如何以这种格式指定 128 位 AES 密钥?例如,我将如何以相同的格式指定/转换原始十六进制形式的 AES 256 密钥(如下所示):

5DD34BE0C9C344833C91E20D247C3B2988340A034C9719C7C291EC2F781F8133

请注意,此处显示的所有密钥都只是示例,不用于加密任何敏感信息。

【问题讨论】:

    标签: c++ encryption cryptography aes cryptoapi


    【解决方案1】:

    硬编码的密钥很可能是一个 base64 编码的 128 位密钥,没有填充。但也有可能是任意 UTF8 被填充成为 128 位密钥。不过,我会把钱放在前面。

    如果您想使用您提供的十六进制密钥并使用它,您只需将十六进制转换为 base64。

    我希望您的密钥看起来像这样:

    XdNL4MnDRIM8keINJHw7KYg0CgNMlxnHwpHsL3gfgTM

    您可能需要对要点进行进一步调整,以确保它知道您现在使用的是 256 位密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 2023-01-28
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      相关资源
      最近更新 更多