SAP使用的密码哈希算法是否已知?

时间:2014-04-30 09:45:49

标签: authentication passwords cryptography sap sapb1

使用的版本:SAP B1 9.0

背景

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

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

最优选的人在这里知道散列算法,盐是否单独存储,等等: - )

信息

Web应用程序可以访问存储SAP数据的SQL数据库,但没有" direct"与SAP沟通。

实际问题

  • SAP使用什么样的哈希算法
  • 或者是否有不同的工作,如果不知道

2 个答案:

答案 0 :(得分:4)

这是一个令人难以置信的难题。

我已尝试过一些东西,但我找不到合适的解决方案。 但在这里我的结果,也许有帮助:

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

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

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

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

我尝试了一些方法,但没有一个方法奏效。例如。密码前后的盐,哈希密码和添加盐,哈希/盐为大写和小写等。

答案 1 :(得分:0)

尽管我不知道该算法是否为公众所知,但有一种解决方法:您可以使用提供的用户名和密码,并尝试使用这些凭据打开与DI-API的连接。这样,您可以确保SBO施加的所有访问限制都得到了兑现(例如非活动用户)。