Dre*_*ana 4 java encryption spring bcrypt
我正在使用 Spring Framework(-> Java)构建一个 Web 应用程序。出于测试原因,我创建了一个用户(通过 SQL 语句)。目前我正在研究密码加密,为此我使用 BCyrptPasswordEncoder。我想知道是否可以使用编码密码创建第一个用户。
换句话说:我可以通过 SQL 语句使用加密密码作为输入来创建新用户吗?如果是这样,我该如何输入编码密码?
我尝试过 {Bcyrpt}[hash],我在一些网站上读到过,但这似乎不起作用......
插入用户(用户名,密码)值('admin','passwd')
首先快速澄清术语。密码是用 bcrypt“散列”的,而不是“加密的”。这意味着它是一种单向算法(您无法取消该值的哈希值)。
数据库中存储的值是哈希值(例如$2a$10$Iewuj5kQFVnUaNbb6M0sAu6a1qbc5bqXAuyc.9fF4cR8xxIOhD0Da
),而不是纯文本密码。
因此,您需要为测试用户做的就是生成一个 bcrypt 哈希值并将其放入 INSERT 语句中。要么运行它BCryptPasswordEncoder
,要么使用在线 bcrypt 生成器。
例如:
INSERT INTO USER(USERNAME, PASSWORD) VALUES ('admin', '$2a$10$Iewuj5kQFVnUaNbb6M0sAu6a1qbc5bqXAuyc.9fF4cR8xxIOhD0Da')
Run Code Online (Sandbox Code Playgroud)