密码不能和用户名相同

2020-09-28 04:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,您需要实现功能" 密码不得与用户名相同" 。 用户名是UID。 我们知道密码以加密(编码)格式存储,因此我无法直接进行比较。 因此还有2个选项1)将UID更改为编码格式2)解码密码。

并比较这两个值,但我不知道如何实现这一目标。 您对此有任何解决方案吗?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家,您需要实现功能" 密码不得与用户名相同" 。 用户名是UID。 我们知道密码以加密(编码)格式存储,因此我无法直接进行比较。 因此还有2个选项1)将UID更改为编码格式2)解码密码。

并比较这两个值,但我不知道如何实现这一目标。 您对此有任何解决方案吗?

谢谢

付费偷看设置
发送
3条回答
SC_Yao
1楼 · 2020-09-28 04:53.采纳回答

在提交表单后立即进行验证(如果适用于店面用户)。 另外,您可以检查PasswordEncoderService或PasswordEncoder以在相当低的级别上执行检查。

如果需要获取与UID密码相同的用户的报告,则必须对UID进行哈希处理并将其与密码哈希进行比较(请注意,向要哈希的密码中添加了盐)。

一只江湖小虾
2楼-- · 2020-09-28 04:55

谢谢您,

SAP小菜
3楼-- · 2020-09-28 04:44

作为Arvīds答案的扩展,我已使用此Groovy根据以下列表检查员工(即管理员用户)的密码 前10000个最常用的密码。

 密码=新URL('https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/10k_most_common.txt').text
    flexibleSearchService.search("从{employee}中选择{pk}")。result.each {用户->
    passwords.eachLine {密码->
      如果(passwordEncoderService.isValid(用户,密码)){
        println user.uid <<" =" <<密码
      }
    }
  }
  

您可以将其扩展为检查他们的密码是他们的用户ID还是用户ID的反向密码(例如默认的管理员密码)

  flexibleSearchService.search("从{employee}选择{pk}")。result.each {用户->
    如果(passwordEncoderService.isValid(user,user.uid)){
      println" $ user.uid的密码是其用户ID"
    }
    如果(passwordEncoderService.isValid(user,user.uid.reverse())){
      println" $ user.uid的密码是其用户ID的反密码"
    }
  }
  

一周热门 更多>