我正在尝试将用户从旧的Drupal6 CMS迁移到KeyCloak。我想迁移用户与他们的旧密码,然后分配一个“更新密码”要求的行动到他们的个人资料。
然而,迁移密码似乎有问题,因为我只能以散列形式访问它们。
{
"hashedSaltedValue" : "password-hash",
"algorithm" : "restcomm-md5",
"type" : "password",
}
有没有人有幸让这个功能发挥作用?
下面的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