SecureSocial for SecureSocialPasswordHasher默认使用什么加密?

时间:2014-09-22 04:18:38

标签: python encryption playframework passwords securesocial

我在使用SecureSocialPasswordHasher.passwordHash的{​​{1}}包中的securesocial.utils.SecureSocialPasswordHasher方法进行哈希处理的数据存储区上有密码,我必须通过Python验证它们。

因此,使用SecureSocial(或整个Play框架)是不可能的。问题是:调用该方法时它用于散列有什么用?从文档中可以看出它是SecureSocial,但对我来说还不够明确。

--------- --------- EDIT

我在Bcrypt个论坛上被告知确实使用SecureSocial工作因子10默认值。但它并不反映我在数据存储区看到的内容。

那里有两列,一个用于盐,另一个用于哈希密码。它们都没有Bcrypt标题(例如Bcrypt)。此外,盐的大小只有11个字符,散列密码只有22个字符长(并且没有在字符串中有盐的迹象)。

1 个答案:

答案 0 :(得分:1)

确定SecureSocial上的哈希密码的默认值确实为Bcrypt

它的哈希方法的默认实现是:

  def hash(plainPassword: String): PasswordInfo = {
        PasswordInfo(id, BCrypt.hashpw(plainPassword, BCrypt.gensalt(logRounds)))
  }

这适用于最新版本的SecureSocial

关于我的具体问题,主要问题是我没有传达我正在处理的代码使用旧版SecureSocial,并且已经覆盖了has方法。