由于两个平台密码保存方式不一样
PHPWind
public static function buildPassword($password, $salt) {
return md5(md5($password) . $salt);
}
Discourse
def confirm_password?(password)
return false unless password_hash && salt
self.password_hash == hash_password(password, salt)
end
class Pbkdf2
def self.hash_password(password, salt, iterations, algorithm = "sha256")
h = OpenSSL::Digest.new(algorithm)
u = ret = prf(h, password, salt + [1].pack("N"))
2.upto(iterations) do
u = prf(h, password, u)
ret.xor!(u)
end
ret.bytes.map { |b| ("0" + b.to_s(16))[-2..-1] }.join("")
end
protected
# fallback xor in case we need it for jruby ... way slower
def self.xor(x, y)
x.bytes.zip(y.bytes).map { |a, b| a ^ b }.pack('c*')
end
def self.prf(hash_function, password, data)
OpenSSL::HMAC.digest(hash_function, password, data)
end
end
所以管理员确定要所有会员重新设置密码,以确保更安全。
您可以从“我忘记了密码”重设。
谢谢。