使用的版本:SAP B1 9.0
背景
我们希望为外部用户提供一个简单的身份验证 Web 表单,并希望使用 SAP B1 用户管理来管理用户(当然还有密码)。
由于我们无法找到密码散列背后的算法,我的老板还考虑使用与 SAP 用户不同的字段,例如 Mobile Device ID
并将密码存储在那里。将它作为纯文本存储在那里,并且可能以各种形式被其他用户看到,但是对我来说似乎是一个非常糟糕的主意,这就是我在这里询问想法的原因。
最好这里有人知道散列算法,盐是否单独存储等:-)
信息
Web 应用程序可以访问存储 SAP 数据的 SQL 数据库,但不能与 SAP 进行“直接”通信。
实际问题
最佳答案
这是一个有趣而困难的问题。
我尝试了一些东西,但我还没有找到可行的解决方案。
但在这里我的结果,也许它有帮助:
密码哈希似乎是带盐的 SHA1。
密码 salt 存储在 OUSR.STData
中。还有一个字段 OUSR.NoSTPwdNum
但我不知道它是如何一起工作的。
DIAPI-SDK-Helpfile 对字段的描述如下:
我尝试了一些方法,但都没有奏效。例如。密码前后salt,hash密码加salt,hash/salt大小写等。
关于authentication - SAP 使用的密码散列算法是否已知?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23384786/