gpt4 book ai didi

PHP版ASP.net/VB.net登录

转载 作者:搜寻专家 更新时间:2023-10-31 22:05:08 25 4
gpt4 key购买 nike

我正在创建 ASP.net/VB.net 中的登录脚本的 PHP 版本。存储用户名和密码的数据库位于 MSSQL 中,不会更改。密码存储为二进制数据。下面是 VB.net 中的一部分代码,用于将密码与保存在数据库中的密码进行比较。

Dim sha1 As sha1 = sha1.Create()
Dim password As Byte() = sha1.ComputeHash(Encoding.Unicode.GetBytes(Me.txtPwd.Text))
CustData = .GetCustomerByEmail(Me.txtUser.Text, password)

我发现它是 library 的一部分.

在 PHP 的 sha1 中散列密码后我遇到了问题。我不知道如何将经过哈希处理的字符串转换为可用于将其与数据库进行比较的二进制文件。

例如,MSSQL 数据库中的密码“Test100”的值为(unpack('H*', $binaryPassword) 后)7397001ce5259b79c436a369b9d3a8c7bc2a85385fdec57a。我不确定如何从我使用 PHP 获得的散列密码中获取上面的字符串。

这是到目前为止我在 PHP 方面的知识以及我遇到的问题。

$password = sha1(mb_convert_encoding($_POST['password'], 'utf-16le'), false); // $_POST['password'] = 'Test100'

输出为 8415ec8cc9287a10f81db5a77341709d304bfa92。

所以我认为还有一个步骤可以将 $password 更改为 $binaryPassword 或二进制密码的十六进制表示。

来自 this page ,它说 Byte 是一个 8 位无符号整数,但不确定如何从 PHP 字符串中获取它。

提前致谢!

最佳答案

如果您尝试对静态文本“Test100”运行 sh1 会发生什么情况?

关于PHP版ASP.net/VB.net登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20096202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com