使用的版本:SAP B1 9.0

背景

我们希望为外部用户提供一个简单的身份验证 Web 表单,并希望使用 SAP B1 用户管理来管理用户(当然还有密码)。

由于我们无法找到密码散列背后的算法,我的老板还考虑使用与 SAP 用户不同的字段,例如 Mobile Device ID 并将密码存储在那里。将它作为纯文本存储在那里,并且可能以各种形式被其他用户看到,但是对我来说似乎是一个非常糟糕的主意,这就是我在这里询问想法的原因。

最好这里有人知道散列算法,盐是否单独存储等:-)

信息

Web 应用程序可以访问存储 SAP 数据的 SQL 数据库,但不能与 SAP 进行“直接”通信。

实际问题

  • SAP 使用什么样的哈希算法
  • 或者是否有不同的解决方法,如果不知道
  • 最佳答案

    这是一个有趣而困难的问题。

    我尝试了一些东西,但我还没有找到可行的解决方案。
    但在这里我的结果,也许它有帮助:

    密码哈希似乎是带盐的 SHA1。

    密码 salt 存储在 OUSR.STData 中。还有一个字段 OUSR.NoSTPwdNum 但我不知道它是如何一起工作的。

    DIAPI-SDK-Helpfile 对字段的描述如下:

  • STData:用户密码 Salt | nVarchar(40)
  • NoSTPwdNum:密码加密无盐(加密)| Int(6)

  • 我尝试了一些方法,但都没有奏效。例如。密码前后salt,hash密码加salt,hash/salt大小写等。

    关于authentication - SAP 使用的密码散列算法是否已知?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23384786/

    10-14 15:52
    查看更多