如何在 jwt.io 中生成 256 位密钥?

问题描述 投票:0回答:2

我想在

jwt.io
中生成 your-256-bit-secret

JWT.IO SECRET IMAGE

我想在 API 管理策略中使用该密钥作为颁发者签名密钥。但我不知道如何创建该密钥。

请告诉我。

.net azure jwt azure-api-management
2个回答
2
投票

更新

加密安全...

SECRET_256_HEX=$(openssl rand -hex 32)

SECRET_256_BIN=$(bc <<< "ibase=16; obase=2; ${SECRET_256_HEX^^}" | perl -pe 's/(\\)?\n//g')

echo -n $SECRET_256_BIN | wc -c

原创

我想知道同样的事情,然后我突然意识到可以采用任何明文秘密 - 字面上的任何东西 - 并使用基于 - 的校验和结果......

SECRET_PLAINTEXT='You have a deep, dark fear of spiders, circa 1990'

#or alternatively ;p
#SECRET_PLAINTEXT='You have a deep, dark fear of clowns, circa 1990'

SECRET_256_HEX=$(echo -n $SECRET_PLAINTEXT| sha256sum | cut -d\  -f1)

SECRET_256_BIN=$(bc <<< "ibase=16; obase=2; ${SECRET_256_HEX^^}" | perl -pe 's/(\\)?\n//g')

echo -n $SECRET_256_BIN | wc -c

最后一位只是为了证明它是256位;使用

$SECRET_256_HEX
值,顺便说一句,该值已准备好网络安全(无需
base64


0
投票

密钥必须使用 CSPRNG 生成:https://www.rfc-editor.org/rfc/rfc7515#section-10.1

以下示例展示了如何在 C# 中生成 is: 如何在 C# 中生成加密安全的伪随机数?

© www.soinside.com 2019 - 2024. All rights reserved.