使用的版本:SAP B1 9.0
我们希望为外部用户提供简单的身份验证Web表单,并希望使用SAP B1用户管理来管理用户(当然还有密码)。
由于我们无法找到密码散列背后的算法,我的老板也考虑使用SAP用户的不同字段,例如Mobile Device ID
并在那里存储密码。将它作为纯文本存储在那里,以及可能被其他用户以各种形式看到,但对我来说这似乎是一个非常糟糕的主意,这就是我在这里要求提出想法的原因。
最优选的人在这里知道散列算法,盐是否单独存储,等等: - )
Web应用程序可以访问存储SAP数据的SQL数据库,但没有" direct"与SAP沟通。
答案 0 :(得分:4)
这是一个令人难以置信的难题。
我已尝试过一些东西,但我找不到合适的解决方案。 但在这里我的结果,也许有帮助:
密码哈希似乎是带盐的SHA1。
密码盐存储在OUSR.STData
中。还有一个字段OUSR.NoSTPwdNum
,但我不知道它是如何一起工作的。
DIAPI-SDK-Helpfile描述如下字段:
我尝试了一些方法,但没有一个方法奏效。例如。密码前后的盐,哈希密码和添加盐,哈希/盐为大写和小写等。
答案 1 :(得分:0)
尽管我不知道该算法是否为公众所知,但有一种解决方法:您可以使用提供的用户名和密码,并尝试使用这些凭据打开与DI-API的连接。这样,您可以确保SBO施加的所有访问限制都得到了兑现(例如非活动用户)。