工具与软件:
サンプル フォルダーの"examples\security\crypto\sa2ul_sha"の"abcdefpra"および SHA2-512 ハッシュ値を出力します。SHA2-256 は
この文字列を別の文字列に置き換えると、結果は'abcdefpra'と同じハッシュ値になります。
ハッシュ値は置換された文字列のハッシュ値になると思います。μ A
しかし、なぜ置換前と同じハッシュ値なのでしょうか μ A?
使用したソースファイルを共有します。μ A
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
サンプル フォルダーの"examples\security\crypto\sa2ul_sha"の"abcdefpra"および SHA2-512 ハッシュ値を出力します。SHA2-256 は
この文字列を別の文字列に置き換えると、結果は'abcdefpra'と同じハッシュ値になります。
ハッシュ値は置換された文字列のハッシュ値になると思います。μ A
しかし、なぜ置換前と同じハッシュ値なのでしょうか μ A?
使用したソースファイルを共有します。μ A
尊敬的 Qutaiba:
抱歉。 我犯了个错误。
在示例文件夹中、"examples\security\crypto\crypto\sa2ul_sha"会输出"abcdefpra"的 SHA2-512和 SHA2-256哈希值。
如果我将此字符串替换为另一个字符串、结果将与"abcdefpra"相同。
我希望哈希值是我替换它的字符串的哈希值、但为什么它与我替换它之前的哈希值相同?
我要使用的器件是 LP-AM243 HS-SE、是否与之有任何关系?
我将共享我使用的源文件。
e2e.ti.com/.../8875.crypto_5F00_sha.c
您好!
输入缓冲器(gCryptoShaTestInputBuf)映射到缓存存储器区域。 因此、对它的任何修改之后必须至少有 Cache Writback (高速缓存回写)、以确保使用高速缓存中可用的最新数据更新原始缓冲区。
在修改后的"crypto_sha.c"文件顶部进行更改后、应该会得到预期的结果。
diff --git a/examples/security/crypto/sa2ul_sha/crypto_sha.c b/examples/security/crypto/sa2ul_sha/crypto_sha.c index fb6cdc5..d174ea4 100644 --- a/examples/security/crypto/sa2ul_sha/crypto_sha.c +++ b/examples/security/crypto/sa2ul_sha/crypto_sha.c @@ -117,6 +117,7 @@ void crypto_sha(void *args) // loop_forever(); DebugP_log("[DEBUG][Now]gCryptoShaTestInputBuf=[%s]\r\n",gCryptoShaTestInputBuf); memset(gCryptoShaTestInputBuf,0x30,APP_SHA_IN_OUT_BUF_LENGTH); + CacheP_wb(gCryptoShaTestInputBuf, APP_SHA_IN_OUT_BUF_LENGTH, CacheP_TYPE_ALL); DebugP_log("[DEBUG][New]gCryptoShaTestInputBuf=[%s]\r\n",gCryptoShaTestInputBuf); //debug
以下是日志:
[CRYPTO] SHA example started ... [DEBUG][Now]gCryptoShaTestInputBuf=[abcdefpra] [DEBUG][New]gCryptoShaTestInputBuf=[000000000] [CRYPTO] SHA-512 example failed!! [CRYPTO] SHA-256 example failed!!
此致、
Prashant
尊敬的 Yukinobu:
/*用于 SHA 计算的 INOUT 测试缓冲区*/
静态 uint8_t gCryptoShaTestInputBuf[APP_SHA_IN_OUT_BUF_LENGTH]={"abcdefpra"};
这是`cryptoSHA.c`源文件中` gCryptoShaTestInputBuf `的定义。 该数组是一个已初始化的全局数组、这意味着它被分配到`.data`段。 在链接器配置中、此`.data`段随后将分配给单个 MSRAM 存储器区域、并在 MPU 配置中作为缓存进行检查。
您可以 通过以下步骤使`gCryptoShaTestInputBuf`数组处于非缓存状态:
一旦分配到非缓存区域、就不需要手动缓存操作(如回写)。
此致、
Prashant