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

Keycloak迁移散列密码

杨经武
2023-03-14

我正在尝试将用户从旧的Drupal6 CMS迁移到KeyCloak。我想迁移用户与他们的旧密码,然后分配一个“更新密码”要求的行动到他们的个人资料。

然而,迁移密码似乎有问题,因为我只能以散列形式访问它们。

{
  "hashedSaltedValue" : "password-hash",
  "algorithm" : "restcomm-md5",
  "type" : "password",
}
    null

有没有人有幸让这个功能发挥作用?

共有1个答案

罗飞宇
2023-03-14

下面的curl命令对我迁移旧的散列密码很有效。用散列密码替换{hashedSaltedValue},用salt替换{salt}

 token="..."
 curl 'http://keycloak-http/auth/admin/realms/testrealm/users/f:60f0ff50-2cc5-492d-8222-04ac0a9964e1:217b93e8-2830-4392-83e3-9feceea94575' \
    -X PUT \
    -H "Authorization: $token" \
    -H "Content-Type: application/json" \
    --data '{"credentials": [ { "algorithm": "pbkdf2-sha512", "hashedSaltedValue": "{hashedpassword}", "hashIterations": 30000, "type": "password", "salt":"{salt}"}]}'
 类似资料:
  • 我们目前有一个Keycloak领域,我们希望将所有现有用户导出到LDAP中(其密码不变),因此我们可以为不支持OpenID Connect或SAML但支持LDAP的其他位置添加登录支持。 由于密码凭据是使用pbkdf2-sha256算法存储在Keycloak MySQL用户数据库中的,所以我必须使用OpenLDAP 2.4.47和contrib模块来支持LDAP端的密码凭据(我也相信我已经在配置中

  • 我一直在阅读OWASP10,我遇到了存储信息的最佳实践。咸杂碎。在这里,您为每个密码生成一个随机的salt,并对其进行梳理、散列和存储。我的疑问是,如果salt是随机生成的,当用户键入密码时,如何对密码进行身份验证?salt是否与用户名一起保存?如果是这样,这种做法仍然是脆弱的。或者他们是怎么做到的?

  • 我有一个简单的密码加密程序,当用户注册时,它会给我一个散列/盐析密码,以存储在我的数据库中。代码: 当用户登录时,我想我不能简单地通过此代码将输入的密码放回并进行比较,因为这会给我一个不同的结果。如何简单地将存储的密码与输入的登录密码进行比较?

  • 我在谷歌上搜索过正确的方法,但是有很多不同的方法。所以我想出了这个,不介意一些批评和更好实践的链接。 //注册表格-用户提供用户名(电子邮件)密码(文本)// 所以我抓取数据: 然后将user_email| encrypted_pass|salt插入数据库 //登录表单-用户提供用户名(电子邮件)密码(文本)// 所以首先根据用户(电子邮件)我抓取encrypted_pass和盐信息。然后 我读过

  • 我正在研究一个已经用MD5(没有salt)散列用户密码的系统。我想使用SHA-512和SALT更安全地存储密码。 虽然这对于将来的密码来说很容易实现,但我也想修改现有的MD5散列密码,最好不强迫所有用户更改他们的密码。我的想法是只使用SHA-512和一个适当的salt来散列现有的MD5散列。然后,我可以在数据库中设置一些标志,指示哪些密码是从纯文本散列出来的,哪些密码是从MD5散列出来的。或者我可

  • 问题内容: 我需要对密码进行哈希处理以存储在数据库中。如何用Java做到这一点? 我希望使用纯文本密码,添加随机盐,然后将盐和哈希密码存储在数据库中。 然后,当用户想要登录时,我可以使用其提交的密码,从其帐户信息中添加随机盐,对其进行哈希处理,然后查看其是否等同于其帐户信息所存储的哈希密码。 问题答案: 实际上,你可以使用Java运行时内置的工具来执行此操作。Java 6中的SunJCE支持PBK