当前位置: 首页 > 知识库问答 >
问题:

HS512 JWT算法中密钥的理想特性是什么?

寿意远
2023-03-14

我正在用HS512算法生成JWT。

密钥用于对标头和内容进行签名。目前我使用的按键如下:q1w2e3r4t5y6u7i8o9p0

HS512 JWT算法中密钥的理想特性是什么?

例如:长度必须为n个字符;包括大写、小写、符号。。。。?


共有1个答案

淳于玺
2023-03-14

理想情况下,HS512密码是512个随机位(64个随机字节)。您将此密码编码为base64、base64url或十六进制表示“存储”,然后在将其用作密码之前对其进行解码。

HS512是带有SHA-512的HMAC,小于64字节的机密将填充到64字节,大于64字节的机密不会增加额外的安全性。

您可以使用openssl生成这些,例如。

openssl rand -hex 64

这将产生例如。

2dae84f846e4f4b158a8d26681707f4338495bc7ab68151d7f7679cc5e56202dd3da0d356da007a7c28cb0b780418f4f3246769972d6feaa8f610c7d1e7ecf6a

然后您对其进行十六进制解码以用作对称秘密。

HS256(256位,32字节)、HS384(384位,48字节)也是如此。

 类似资料:
  • 问题内容: 我是Android开发和实现SSLSockets的新手。经过一些挖掘后,我能够设置一个可以正常工作的简单服务器/客户端。我觉得该实现可能需要花费一些工作,并且在不使用纯文本格式的情况下困扰于如何将密码加载到密钥库中。这是客户端上的一些代码。如您所见,我已将密码硬编码到本地变量中。有没有更好的方法来加载密钥库密码,所以我在代码中没有纯文本格式? 更新: 事实证明,客户端根本不需要知道密钥

  • 当从高级REST客户机或存储中的REST客户机测试时,它可以工作。我已经更改了各个文件中的端口号(authorize、login、token、revoke),以匹配我的端口偏移量,我还在api-manager.xml中配置了我的API存储地址。

  • 我用过这个命令 生成密钥库。它工作正常,但从我读到的内容来看,这个命令还应该提示您输入密钥密码(而不是存储密码)?我从来没有收到过这样的提示。我能跑 查看密钥库的内容。钥匙似乎就在那里。。。正确的别名在那里。在哪里获取/设置特定别名的密码? 我有一个key.properties在Android目录 在build.gradle我有: 当我试图生成一个发布版本时,我得到了 我想它可能与keyPassw

  • 问题内容: 我正在寻找创建一个可重用的函数,该函数将生成一个随机密钥,该随机密钥具有选定长度(可从2到1000+)的可打印ACSII字符。我认为可打印的ASCII字符应为33-126。它们的密钥不需要完全唯一,只要在完全相同的毫秒内生成就可以唯一(因此不起作用)。 我正在考虑将结合使用,并且可能会起作用。 这是要走的路,还是其他最佳方法? 编辑: 也将不起作用,因为它没有长度参数,这就是PHP给您

  • 本文向大家介绍基于私钥加密公钥解密的RSA算法C#实现方法,包括了基于私钥加密公钥解密的RSA算法C#实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了基于私钥加密公钥解密的RSA算法C#实现方法,是一种应用十分广泛的算法。分享给大家供大家参考之用。具体方法如下: 一、概述 RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。 RSA是被研究得最广泛的公钥算法,从提出