如何使用 Salt 和 SHA-256 解密存储在 WSO2 身份服务器中的密码
How to decrypt the password that are stored in WSO2 identity Server with Salt and SHA-256
我想查看存储在 CARBON_DB..UM_USER table 中的密码。
密码使用盐值列加密存储。
我不想更改加密,但想在 SQL 服务器中查看密码。
如果它是单向函数,当我们调用 Authenticate 函数并验证请求中传递的用户名密码是否有效时,WSo2 如何能够使用它?
或者它会帮助我,WSO2 如何根据 UM_SALT_VALUE.
生成 UM_USER_PASSWORD 列
此 [1] 是代码部分,它将提供的密码与存储的哈希值进行比较。通过查看此逻辑,您可能能够理解它是如何发生的。检查 preparePassword()
[2] 方法以了解加盐哈希是如何发生的。
以下是加密工作原理的答案,
//Password+Salt value
String password = "passwordb7nujixCJvoAA7AZkLfe0A==";
MessageDigest dgst = MessageDigest.getInstance("SHA-256");
byte[] byteValue = dgst.digest(password.getBytes());
password = Base64.encode(byteValue);
System.out.println("password::"+password);
我想查看存储在 CARBON_DB..UM_USER table 中的密码。 密码使用盐值列加密存储。 我不想更改加密,但想在 SQL 服务器中查看密码。
如果它是单向函数,当我们调用 Authenticate 函数并验证请求中传递的用户名密码是否有效时,WSo2 如何能够使用它?
或者它会帮助我,WSO2 如何根据 UM_SALT_VALUE.
生成 UM_USER_PASSWORD 列此 [1] 是代码部分,它将提供的密码与存储的哈希值进行比较。通过查看此逻辑,您可能能够理解它是如何发生的。检查 preparePassword()
[2] 方法以了解加盐哈希是如何发生的。
以下是加密工作原理的答案,
//Password+Salt value
String password = "passwordb7nujixCJvoAA7AZkLfe0A==";
MessageDigest dgst = MessageDigest.getInstance("SHA-256");
byte[] byteValue = dgst.digest(password.getBytes());
password = Base64.encode(byteValue);
System.out.println("password::"+password);