请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文)返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法


  1. public class UserService {
  2. public boolean checkPwd(String userId, String original, String encrypted) {
  3. String md5 = encrypt(original, getSalt(userId));
  4. return encrypted.equals(md5);
  5. }
  6. private String getSalt(String userId) {
  7. // 根据userid 获取 salt
  8. return userId;
  9. }
  10. private String encrypt(String original, String salt) {
  11. String passwordMd5 = null;
  12. try {
  13. MessageDigest md5 = MessageDigest.getInstance("MD5");
  14. byte[] bytes = md5.digest((original + salt).getBytes(StandardCharsets.UTF_8));
  15. passwordMd5 = new String(bytes);
  16. } catch (NoSuchAlgorithmException e) {
  17. e.printStackTrace();
  18. }
  19. return passwordMd5;
  20. }
  21. }