我正在开发Spring Security应用程序,我使用BCryptPasswordEncoder来编码db中的密码。我使用了以下生成器
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
public class PasswordEncoderGenerator {
public static void main(String[] args) {
int i = 0;
while (i < 10) {
String password = "1234";
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode(password);
System.out.println(hashedPassword);
i++;
}
}
}
我将凭据存储在postgres数据库中。 我手动更新了我的表,粘贴了这个短程序的输出,因为只有几个用户。我想要实现的是创建更新查询,允许我使用sql查询加密密码。
我安装了
postgresql-contrib libpq-dev
模块,现在我正在尝试执行以下查询:
UPDATE users
SET login_pin = crypt('0000', gen_salt('bf'))
WHERE user_id = '1';
我无法在官方的postgres文档中找到bcrypt,而且我把&#39; bf&#39;在gen_salt()函数中。 http://www.postgresql.org/docs/8.3/static/pgcrypto.html
然后我检查了我的数据库,它插入了60个字符串长的字符串,但是看起来0000引脚错了。我需要使用bcrypt而不是bf。有人可以帮忙吗?
由于