내가 사용자 이름과 암호에 대한 값이 서버에 제대로 저장되어있는 내 서블릿서블릿을 사용하여 mysql 데이터베이스에 비밀번호를 해시하고 소금을 제거하려면 어떻게해야합니까? 여기
Random random = new Random();
String salt = Integer.toString(random.nextInt(1000000000 - 1 + 1) + 1);
String sql = "insert into users (user_name, salt, password) "
+ "values (?, ?, ?)";
c = DriverManager.getConnection(url, username, password);
PreparedStatement pstmt = c.prepareStatement(sql);
pstmt.setString(1, userName);
pstmt.setString(2, salt);
pstmt.setString(3, "SHA2(CONCAT('" +password1+ "', "+ salt +"), 256)");
에서 무엇을하지만 암호는 없습니다. 주어진 값에 대해 다음 SHA2 (CONCAT ('edf', 733903552), 256)로 저장됩니다.
SHA2 및 CONCAT 기능이 적용되지 않는다고 가정하고 잠시 동안 놀았으며 이유를 파악할 수 없습니다.