请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法
public class UserService {
public boolean checkPwd(String userId, String original, String encrypted) {
String md5 = encrypt(original, getSalt(userId));
return encrypted.equals(md5);
}
private String getSalt(String userId) {
// 根据userid 获取 salt
return userId;
}
private String encrypt(String original, String salt) {
String passwordMd5 = null;
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] bytes = md5.digest((original + salt).getBytes(StandardCharsets.UTF_8));
passwordMd5 = new String(bytes);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return passwordMd5;
}
}