HTTPPassword 字段未加密

HTTPPassword field not encrypting

我最近将我的 IBM Domino 服务器从 v9.01 升级到了 v10.1。我有一个在 NAB 中创建用户并设置 HTTPPassword 字段的 LotusScript 代理。

代码如下:

            docPerson.Type = "Person"
            docPerson.LastName = req.iSurname(0)
            docPerson.FirstName = req.iFirstName(0)
            docPerson.FullName = req.iFirstName(0) + " " + req.iSurname(0) + " " + req.iCompany(0)
            docPerson.MailAddress = req.iEmail(0)
            If req.IMEPassword(0) = "" Then
                req.IMEPassword = getRandom()
            End If
            docPerson.HTTPPassword = "HelloWorld" 
            docPerson.CompanyName = req.iCompany(0)

            Call docPerson.ComputeWithForm( False, False )
            Call docPerson.Save( False, True )

升级后,HTTPPassword 字段不再经过哈希处理。根据代码,它以纯文本形式显示在 NAB 中,之前它被散列(例如,它显示为“(68A58FFF6684AFD161FD5682C152C122)”。

我的解决方法是手动输入密码并将记录保存在 NAB 中。

NAB 的设计已更新。

我还没有找到任何关于这可能随着升级而改变的信息。有什么想法吗?

我已检查 NAB 上的设计是否正确更新。所有设计元素似乎都正确显示。

我建议您自己生成散列密码,而不是使用“quick-and-dirty”computeWithForm 方法。 根据您的设置,您可以使用 @Password 或 @HashPassword - 当您的 domino 目录中启用了更安全的互联网密码时使用后者。 您可以使用此代码生成哈希:

Dim pw As String
Dim ret As Variant
pw="HelloWorld"
ret = Evaluate(|@HashPassword(pw)|)
Print ret(0)

可以在此处找到一篇有趣的文章,其中包含有关密码哈希问题的更多详细信息: http://techlab.ytria.com/6047/lotus-notes-articles/deep-dive-domino-security-part-1-understanding-ibm-domino-password-hashes/